100 Continue リクエストの準備段階を最適化するHTTPステータスコード

スポンサーリンク
スポンサーリンク

100 Continueについて

100 Continueの概要

リクエストの準備段階を最適化HTTPステータスコード

100 Continue

概要 100 Continueは、クライアントがサーバーに対して送信しようとしているリクエストが問題ないことを示し、クライアントがリクエストボディを送信して続行してよいことを通知するHTTPステータスコードです。このコードは通常、リクエストヘッダーにExpect: 100-continueが含まれる場合にサーバーから返されます。

意味 サーバーはリクエストの初期部分を受信し、クライアントに続行を指示しました。

100 Continueはどのような時に返されるか

  • クライアントがExpect: 100-continueヘッダーを含めたリクエストを送信した場合
  • リクエストのボディを送信する前にサーバーの承認を得たい場合
  • 大きなデータを送信する際、無駄な通信を避けるために使用される場合

100 Continueの具体例

リクエストの初期部分の確認

POST /upload HTTP/1.1  
Host: example.com  
Content-Length: 1048576  
Expect: 100-continue  

レスポンス例:

HTTP/1.1 100 Continue  

解説: クライアントがExpect: 100-continueヘッダーを含むリクエストを送信し、サーバーがリクエストを問題なく受け入れる準備ができたことを通知する際に100ステータスコードを返します。これにより、クライアントはリクエストボディ(大容量のデータなど)を送信し続けることができます。

エラーの場合の代替レスポンス

POST /upload HTTP/1.1  
Host: example.com  
Content-Length: 1048576  
Expect: 100-continue  

レスポンス例:

HTTP/1.1 417 Expectation Failed  

解説: サーバーがリクエストを受け入れる準備ができていない場合、100ステータスコードの代わりに417 Expectation Failedが返されることがあります。

注意点

100 Continueを返す際の注意点:

  • リクエストボディが送信される前に返す
    100ステータスコードは、リクエストボディを受信する前に送信する必要があります。
  • クライアントの期待を適切に処理
    Expect: 100-continueを無視すると、クライアントとの通信効率が低下する可能性があります。

関連するHTTPステータスコードとの比較

100 Continueと関連性のあるステータスコードについて解説します。

  • 200 OK: リクエストが完全に成功した場合に使用されます。100はその途中段階を示します。
  • 417 Expectation Failed: Expect: 100-continueが満たされない場合に返されるエラーステータスです。

これらの違いを理解することで、適切な用途で100ステータスコードを利用できます。