[対処法] 412 Precondition Failed

2013 年 12 月 31 日 火曜日

412 Precondition Failed

原因

HTTPリクエストヘッダに示された「If〜」からはじまるヘッダフィールドの結果により、このレスポンスコードがクライアントに返却される。

具体的には、以下の場合、412 Precondition Failedがクライアントに返却される。

If-Unmodified-Since(クライアントがもっているキャッシュの更新確認)

もし、クライアントがもっているキャッシュ日時がサーバの最終更新日時よりも新しい場合

If-Match(ブラウザがもっているETag値確認)

クライアントがもっているETag値に一致するリソースがサーバに存在しなかった場合

If-None-Match(ブラウザがもっているETag値確認)

クライアントからのリクエストメソッドが「GET」または「HEAD」以外の場合

対処法

412エラーはリクエストヘッダのIf-Unmodified-Since、If-Match、If-None-Matchが想定外の時に返却されるコードなので、まずは上記3つのリクエストヘッダ項目の値を確認する必要がある。

リクエストヘッダに問題がなかった場合は、サーバ側に問題がないかを確認する。たとえばIf-Unmodified-Sinceであれば、サーバのシステム日時が不正なため、クライアントのもっている時間よりも古くなっている可能性も考えられる。

コメント / トラックバック 1 件

コメントをどうぞ

トラックバック

このエントリーのトラックバックURL:

http://www.bmoo.net/archives/2013/12/315225.html/trackback