412 預期失敗
HTTP 的 **412 Precondition Failed** 客戶端錯誤響應 狀態碼錶示拒絕訪問目標資源。這發生在對除了 GET 或 HEAD 之外的其他方法的 條件請求 中,當 If-Unmodified-Since 或 If-Match 頭部定義的條件不滿足時。在這種情況下,請求(通常是上傳或修改資源)無法完成,並返回此錯誤響應。
狀態
http
412 Precondition Failed
示例
前提條件失敗
http
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
ETag: W/"0815"
避免空中碰撞
藉助 ETag 和 If-Match 頭部,您可以防止衝突或空中碰撞。例如,在編輯某些維基頁面時,內容會被雜湊並放入成功的響應中的 ETag 中。
http
ETag: "33a64df551425fcc55e4d42a148795d9f25f89d4"
在儲存對維基頁面的更改(釋出資料)時,POST 請求將包含 If-Match 頭部,其中包含客戶端從上次編輯中儲存的 ETag 值,用於檢查伺服器上資源的新鮮度。
http
If-Match: "33a64df551425fcc55e4d42a148795d9f25f89d4"
如果雜湊值不匹配,則表示文件已在中間被編輯,並將丟擲 412 Precondition Failed 錯誤。
規範
| 規範 |
|---|
| HTTP 語義 # status.412 |