Expect

Expect HTTP 請求頭指示伺服器成功處理請求所需滿足的期望。

Expect: 100-continue 時,伺服器將使用以下響應:

  • 100 (繼續) 如果來自請求頭的資訊不足以解析響應,客戶端應繼續傳送主體。
  • 417 (期望失敗) 如果伺服器無法滿足期望

或任何其他狀態(例如,客戶端錯誤的 4xx 狀態,或如果請求可以在沒有進一步處理的情況下成功解析的 2xx 狀態)。

例如,如果伺服器的 Content-Length 太大,則伺服器可能會拒絕請求。

沒有常見的瀏覽器傳送 Expect 頭,但一些其他客戶端(如 cURL)預設情況下會這樣做。

頭型別 請求頭
禁止的頭名稱

語法

http
Expect: 100-continue

指令

只有一個定義的期望

100-continue

通知接收者客戶端將在本次請求中傳送(可能很大的)訊息主體,並希望收到 100 (繼續) 中間響應。

示例

大訊息主體

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

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

伺服器檢查頭並生成響應。伺服器傳送 100 (繼續),指示客戶端傳送訊息主體。

規範

規範
HTTP 語義
# field.expect

另請參見