HTTPリクエストラインは、HTTPプロトコルにおいてクライアントがサーバーへリクエストを行う際の最初の行であり、そのリクエストの種類、対象のリソース、使用しているHTTPのバージョンの3つの部分から構成されています。
構成要素
- メソッド: クライアントが行いたいアクションを表す。例えば、
GET
,POST
,PUT
,DELETE
,HEAD
などがあります。 - リクエストターゲット: 通常はリソースのURLのパス部分です。完全なURLを含むことは通常ありませんが、プロキシサーバーへのリクエストの場合は完全なURLが使われることがあります。
- HTTPバージョン: リクエストが使用しているHTTPプロトコルのバージョンです。例えば、
HTTP/1.1
やHTTP/2.0
などがあります。
例
GET /index.html HTTP/1.1
この例では、クライアントはGET
メソッドを使用しており、/index.html
というリソースを要求しており、プロトコルバージョンはHTTP/1.1
を使用しています。
重要性
リクエストラインはHTTPリクエストの最も重要な部分の一つであり、リクエストの種類と目的を明確に伝えます。サーバーはこの行を読み込んで解析することで、どのようなリソースが要求されているか、どのように応答すべきかを判断します。
注意点
- リクエストラインの3つの部分はスペースで区切られています。
- リクエストラインの後にはヘッダーが続き、最後には必ずCRLF(キャリッジリターンとラインフィード、
\r\n
)で終了する必要があります。 - URLはエンコードされていることがあり、空白文字などはパーセントエンコーディングを使用して表現されます。