このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
412 Precondition Failed
HTTP の412 Precondition Failed はクライアントエラーレスポンスのステータスコードで、ターゲットリソースへのアクセスが拒否されたことを示します。これは、条件付きリクエストをGET またはHEAD 以外のメソッドで行う際に、If-Unmodified-Since またはIf-Match ヘッダーで定義された条件が満たされない場合に発生します。その場合、リクエスト(通常はリソースのアップロードまたは変更)は実行されず、このエラーレスポンスが返されます。
In this article
ステータス
http
412 Precondition Failed例
>事前条件の失敗
http
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"ETag: W/"0815"空中衝突の防止
ETag とIf-Match の各ヘッダーを活用することで、編集の空中衝突を検出することができます。例えば、ある Wiki ページを編集しているとき、現在の Wiki の内容がハッシュ化され、レスポンスのETag に入ります。
http
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"Wiki ページへの変更を保存する(データを投稿する)とき、POST リクエストにはIf-Match ヘッダーに、クライアントが前回の編集で格納したETag 値を入れ、サーバー上のリソースの更新を確認できるようにします。
http
If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"ハッシュが一致しない場合、その間で文書が編集されたことを意味するので、412 Precondition Failed エラーを発生させます。
仕様書
| Specification |
|---|
| HTTP Semantics> # status.412> |