HTTP の Expect リクエストヘッダーは、リクエストを正しく扱うためにサーバーが実行する必要があると期待されていることを示します。

仕様書で定義されている期待は Expect: 100-continue だけで、サーバーが応答するべきことは以下の通りです。

  • ヘッダーに含まれている情報で、直ちに成功とする条件を満たしているのであれば 100
  • 期待に沿うことができなければ 417 (Expectation Failed)。それ以外であれば他の 4xx 状態になります。

例えば、サーバーは Content-Length が長すぎるとリクエストを拒否する可能性があります。

Expect ヘッダーを送信するブラウザーはあまりありませんが、 cURL のような一部の他のクライアントは既定で送信します。

ヘッダー種別 リクエストヘッダー
禁止ヘッダー名 いいえ

構文

現在は "100-continue" 以外の期待は定義されていません。

Expect: 100-continue

ディレクティブ

100-continue
クライアントがこの要求で (おそらく大規模な) メッセージ本文を送信しようとしていることを受信者に通知し、 100 (Continue) 暫定応答を受信することを期待します。

巨大なメッセージ本文

クライアントは Expect ヘッダーで要求を送信し、メッセージ本文を送信する前にサーバーが応答するのを待ちます。

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

サーバーはリクエストヘッダーをチェックし、 100 (Continue) 応答を返信して、クライアントにメッセージ本体を送信するよう指示するか、又は期待に沿わない場合は、 417 (Expectation Failed) 状態になります。

仕様書

仕様書 題名
RFC 7231, セクション 5.1.1: Expect Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome ? Edge ? Firefox ? IE ? Opera ? Safari ? WebView Android ? Chrome Android ? Edge Mobile ? Firefox Android ? Opera Android ? Safari iOS ? Samsung Internet Android ?

凡例

実装状況不明  
実装状況不明

関連情報

  • 417 Expectation Failed
  • 100 Continue

ドキュメントのタグと貢献者

このページの貢献者: mfuji09
最終更新者: mfuji09,