HTTPリクエスト

読み:えいちてぃーてぃーぴーりくえすと / 英語表記:HTTP request message

HTTPでクライアントがサーバに送る要求のメッセージ。HTTP/1.1ではリクエスト行、ヘッダー、空行の順に並び、必要に応じてメッセージボディが続く。

イマシルちゃんの解説

Webページを開いたり、フォームの内容を送ったりするとき、ブラウザはサーバへ要求を伝えるよ。
この要求のメッセージがHTTPリクエストなんだ。
HTTP/1.1では、最初のリクエスト行に求める処理や対象、HTTPのバージョンを書くの。
続くヘッダーでは、接続先の名前や送るデータの形式などを伝えるよ。
ヘッダーの終わりは空行で区切るんだ。
投稿する文章などを送る場合は、その後のメッセージボディに入れるよ。
こうして要求の種類と補足情報、送る内容を分けることで、サーバがどのように処理すればよいか読み取れるの。

より深い解説

構造

HTTP/1.1のリクエストメッセージは、次の順で並ぶテキストである。

部分内容
リクエスト行メソッド、リクエスト対象(パスなど)、HTTPのバージョン
ヘッダーHost、User-Agent、Content-Typeなどの付加情報。1行に1つ
空行ヘッダーの終わりを示す(改行だけの行)
メッセージボディサーバに送るデータ本体。ない場合もある

具体例

GETメソッドで検索キーワードを送る場合:

GET /search?q=network HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0

POSTメソッドでフォームの内容を送る場合:

POST /login HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 27

user=glatch&password=secret

フォームに入力したデータは、GETメソッドではリクエスト行のURLの末尾(クエリ文字列)に、POSTメソッドではメッセージボディに入る。

押さえておきたいヘッダー

ヘッダー内容
Host接続先のホスト名。HTTP/1.1では必須。1台のサーバで複数のサイトを動かす(バーチャルホスト)ために使われる
Content-Typeボディのデータ形式
Content-Lengthボディの長さ(バイト数)
Cookieサーバから受け取ったCookieを送り返す
Refererどのページのリンクから来たか
Authorization認証情報

レスポンスメッセージとの違い

サーバが返すレスポンスメッセージも同じ形だが、1行目がリクエスト行ではなくステータス行(バージョン、ステータスコード、理由句。例:HTTP/1.1 200 OK)になる。

HTTP/2以降では、メッセージをテキストのまま送らず、バイナリのフレームに分けて送る。ただし、メソッド、ヘッダー、ボディという論理的な構成は同じである。

実際の試験ではここに出る!全1問

ネットワークスペシャリスト

午前Ⅱ

この用語が出てくる記事

↑