[NW] HTTP メッセージ構成

日経ネットワーク12月号、
「スッキリわかる!ネットワーク技術解説」より。

○HTTPメッセージの構成

・開始行
・ヘッダー
・ボディ

開始行<改行> (最初の改行までが開始行)
ヘッダー1<改行>
ヘッダー2<改行>
…
ヘッダーlast<改行>
<改行> (改行コードが2つ連続で入ると、それ以降はボディ)
ボディ

●開始行

・リクエストの開始行

[メソッド] [リクエストURI] [バージョン]<改行>

例) GET /index.html HTTP/1.1\r\n

メソッド:Webサーバーに要求する操作
GET, POSTなど

HTTP リクエストメソッド(MDN web docs)

リクエストURI:操作の対象となるデータの場所
サーバー上でのファイルパスみたいなものかな?

一応、参考(URIとは)
https://qiita.com/Zuishin/items/3bd56117ab08ec2ec818

バージョン:HTTPのバージョン

・レスポンスの開始行

[バージョン] [ステータスコード] [フレーズ]<改行>

例) HTTP/1.1 200 OK\r\n

ステータスコード、フレーズ:要求された操作の処理結果
200 OK, 404 Not Foundなど

HTTP レスポンスステータス(MDN web docs)

●ヘッダー

[ヘッダー名]: [ヘッダー内容]<改行>

例) Host: infra.salmon0852.com\r\n

ヘッダー:
HTTP ヘッダー(MDN web docs)

●ボディ

メッセージの内容が入っている

例)
 POSTリクエストなら、Formの内容。
 GETに対するレスポンスなら、htmlファイルの内容。
 など。

○HTTPメッセージ例

当ブログのトップページにアクセスしたときの、
HTTPメッセージの内容

WireSharkでキャプチャし、
「パケットバイト列をエクスポート」で、txtファイルに保存。(一部修正・削除)

※HTTPメッセージ部分はテキスト形式なので、
 txtファイルにエクスポートしても普通に読めるw

(GETリクエスト)
GET / HTTP/1.1
Host: infra.salmon0852.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1) ....
Accept: text/html,application/xhtml+xml,....
Referer: [リンク元]
Accept-Encoding: gzip, deflate,....
Accept-Language: ja,en-US;q=0.9,en;q=0.8
Cookie: ******

(レスポンス)
HTTP/1.1 200 OK
Date: Sun, 10 Dec 2017 06:55:43 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 22217
Connection: keep-alive
X-Powered-By: PHP/7.1.5
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Vary: Accept-Encoding
Content-Encoding: gzip
Server: Apache

<!DOCTYPE html>
....

コメントを残す

メールアドレスが公開されることはありません。