412 預期失敗

HTTP 的 **412 Precondition Failed** 客戶端錯誤響應 狀態碼錶示拒絕訪問目標資源。這發生在對除了 GETHEAD 之外的其他方法的 條件請求 中,當 If-Unmodified-SinceIf-Match 頭部定義的條件不滿足時。在這種情況下,請求(通常是上傳或修改資源)無法完成,並返回此錯誤響應。

狀態

http
412 Precondition Failed

示例

前提條件失敗

http
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
ETag: W/"0815"

避免空中碰撞

藉助 ETagIf-Match 頭部,您可以防止衝突或空中碰撞。例如,在編輯某些維基頁面時,內容會被雜湊並放入成功的響應中的 ETag 中。

http
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"

在儲存對維基頁面的更改(釋出資料)時,POST 請求將包含 If-Match 頭部,其中包含客戶端從上次編輯中儲存的 ETag 值,用於檢查伺服器上資源的新鮮度。

http
If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"

如果雜湊值不匹配,則表示文件已在中間被編輯,並將丟擲 412 Precondition Failed 錯誤。

規範

規範
HTTP 語義
# status.412

另請參閱