diff options
Diffstat (limited to 'files/ja/web/http/status/412/index.html')
| -rw-r--r-- | files/ja/web/http/status/412/index.html | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/files/ja/web/http/status/412/index.html b/files/ja/web/http/status/412/index.html new file mode 100644 index 0000000000..eb990c4f4d --- /dev/null +++ b/files/ja/web/http/status/412/index.html @@ -0,0 +1,71 @@ +--- +title: 412 Precondition Failed +slug: Web/HTTP/Status/412 +tags: + - HTTP + - Reference + - エラー + - ステータスコード + - リファレンス +translation_of: Web/HTTP/Status/412 +--- +<div>{{HTTPSidebar}}</div> + +<p>HyperText Transfer Protocol (HTTP) <code><strong>412 Precondition Failed</strong></code> クライアントエラーレスポンスコードは、ターゲットリソースへのアクセスが拒否されたことを示します。これは、 {{HTTPHeader("If-Unmodified-Since")}} または {{HTTPHeader("If-None-Match")}} ヘッダーで定義された条件が満たされていない場合に、 {{HTTPMethod("GET")}} もしくは {{HTTPMethod("HEAD")}} 以外のメソッドの条件付きリクエストで発生します。その場合、リクエスト (通常はリソースのアップロードまたは変更) を行うことができず、このエラーレスポンスが返されます。</p> + +<h2 id="Status" name="Status">ステータス</h2> + +<pre class="syntaxbox">412 Precondition Failed</pre> + +<h2 id="Examples" name="Examples">例</h2> + +<pre><code>ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4" +ETag: W/"0815"</code></pre> + +<h3 id="Avoiding_mid-air_collisions" name="Avoiding_mid-air_collisions">空中衝突の防止</h3> + +<p><code>ETag</code> と {{HTTPHeader("If-Match")}} の各ヘッダーを活用することで、編集の空中衝突を検出することができます。</p> + +<p>例えば、 MDN を編集しているとき、現在の Wiki の内容がハッシュ化され、レスポンスの <code>Etag</code> に入ります。</p> + +<pre><code>ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"</code></pre> + +<p>Wiki ページへの編集を保存する (データを投稿する) 際に、 {{HTTPMethod("POST")}} リクエストに {{HTTPHeader("If-Match")}} ヘッダーを含み、その中で新鮮さをチェックするための <code>ETag</code> の値を含みます。</p> + +<pre><code>If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"</code></pre> + +<p>ハッシュが一致しない場合、その間で文書が編集されたことを意味するので、 {{HTTPStatus("412")}} <code>Precondition Failed</code> エラーを発生させます。</p> + +<h2 id="Specifications" name="Specifications">仕様書</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">仕様書</th> + <th scope="col">題名</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{RFC("7232", "412 Precondition Failed" , "4.2")}}</td> + <td>Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests</td> + </tr> + </tbody> +</table> + +<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2> + +<p>以下に示す情報は、 MDN の GitHub から取得したものです。 (<a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>).</p> + +<div class="hidden">このページの互換性一覧表は構造化データから生成されています。データに協力していただけるのであれば、 <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> をチェックアウトしてプルリクエストを送信してください。</div> + +<p>{{Compat("http.status.412")}}</p> + +<h2 id="See_also" name="See_also">関連情報</h2> + +<ul> + <li>{{HTTPStatus("304")}}</li> + <li>{{HTTPHeader("If-Unmodified-Since")}}</li> + <li>{{HTTPHeader("If-None-Match")}}</li> + <li>{{HTTPStatus("428")}}</li> +</ul> |
