Expect header

HTTP Expect 請求頭表示伺服器需要滿足一些預期才能成功處理整個請求。

當請求包含 Expect: 100-continue 頭時,伺服器會發送一個 100 Continue 響應,表明伺服器已準備好或能夠接收請求的其餘內容。如果客戶端預期可能會發生錯誤(例如,在沒有預先驗證的身份驗證憑據的情況下發送狀態更改操作),等待 100 響應會很有幫助。

如果伺服器無法滿足預期,則返回 417 Expectation Failed 響應,否則返回其他狀態(例如,客戶端錯誤返回 4XX 狀態,如果請求無需進一步處理即可成功解決則返回 2XX 狀態)。

大多數常見的瀏覽器不會發送 Expect 頭,但某些客戶端(命令列工具)會預設傳送。

頭型別 請求頭
禁止請求頭

語法

http
Expect: 100-continue

指令

只定義了一個預期

100-continue

通知接收方客戶端即將在此請求中傳送一個(可能很大的)訊息主體,並希望收到 100 Continue 臨時響應。

示例

大型訊息體

客戶端傳送帶有 Expect 頭的請求,並在傳送訊息主體之前等待伺服器響應。

http
PUT /somewhere/fun HTTP/1.1
Host: origin.example.com
Content-Type: video/h264
Content-Length: 1234567890987
Expect: 100-continue

伺服器檢查請求頭並生成響應,其中 100 Continue 指示客戶端傳送訊息主體。

http
HTTP/1.1 100 Continue

客戶端透過傳送實際資料來完成請求

http
[Video data as content for PUT request]

規範

規範
HTTP 語義
# field.expect

另見