If-Match 頭
HTTP If-Match 請求頭使請求有條件。伺服器只會在資源與 If-Match 請求頭中任何一個 ETag 值匹配時,才會返回 GET 和 HEAD 方法的資源,或上傳 PUT 及其他非安全方法的資源。如果條件不匹配,則返回 412 Precondition Failed 響應。
與儲存的 ETag 進行比較時,使用的是強比較演算法,這意味著兩個檔案被視為逐位元組相同。如果列出的 ETag 帶有表示弱實體標籤的 W/ 字首,則此比較演算法將永遠不匹配它。
有兩個常見的用例
語法
http
If-Match: <etag_value>
If-Match: <etag_value>, <etag_value>, …
指令
<etag_value>-
實體標籤唯一標識所請求的資源。它們是包含在雙引號之間的 ASCII 字串(例如
"675af34563dc-tr34")。它們可能帶有W/字首,表示它們是“弱”的,即它們在語義上而非逐位元組地代表資源。然而,在If-Match頭中,弱實體標籤永遠不會匹配。 *-
星號是一個特殊值,表示任何資源。請注意,如果源伺服器沒有目標資源的當前表示,則此值必須匹配為
false。
示例
http
If-Match: "bfc13a64729c4290ef5b2c2730249c88ca92d82d"
If-Match: "67ab43", "54ed21", "7892dd"
If-Match: *
規範
| 規範 |
|---|
| HTTP 語義 # field.if-match |
瀏覽器相容性
載入中…