HTTP/1.1 メッセージ形式
状態:-
閲覧数:2,107
投稿日:2016-05-09
更新日:2016-06-15
HTTPメッセージとは?
・複数行から成り立つ一連のデータ列
リクエスト
・データ送信
レスポンス
・データ受信
HTTP 1.1で示されるHTTPメッセージのフォーマット構造
・メッセージ構文は3層構成
・「リクエスト」と「レスポンス」でそれぞれ内容が異なる
一覧
一覧
リクエストヘッダフィールド / レスポンスヘッダフィールド
・リクエストメッセージ / レスポンスメッセージに固有に含まれるヘッダ
一般ヘッダフィールド
・リクエストメッセージとレスポンスメッセージに共通して含まれ得る
・主にメッセージ全体の属性について示す
エンティティヘッダフィールド
・リクエストメッセージとレスポンスメッセージに共通して含まれ得る
・主にエンティティ(転送されるデータ。主にボディに含まれるデータなどの総称)の詳細や属性について示すフィールド
その他
・HTTPのRFCには定義されていないフィールドが格納される
・クッキー(Cookie)フィールド(RFC2965)などが挙げられる
・複数行から成り立つ一連のデータ列
リクエスト
・データ送信
レスポンス
・データ受信
HTTP 1.1で示されるHTTPメッセージのフォーマット構造
・メッセージ構文は3層構成
・「リクエスト」と「レスポンス」でそれぞれ内容が異なる
一覧
層目 | 内容 | リクエスト | レスポンス |
---|---|---|---|
1層目 | メッセージ・ヘッダ | ・リクエストライン ・リクエストヘッダフィールド ・一般ヘッダフィールド ・エンティティヘッダフィールド ・その他 |
・ステータスライン ・レスポンスヘッダフィールド ・一般ヘッダフィールド ・エンティティヘッダフィールド ・その他 |
2層目 | 空行(CR+LF) | ・空行(CR+LF) | ・空行(CR+LF) |
3層目 | メッセージ・ボディ | ・リクエストボディ | ・レスポンスボディ |
層目 | 内容 | リクエスト | レスポンス |
---|---|---|---|
1層目 | メッセージ・ヘッダ | ・メソッド URL HTTPのバージョン ・使用しているブラウザ情報 ・どのページから発生したリクエストなのか ・クッキー(cookie)情報 |
・HTTPステータスコード(3桁の数字) ・サーバー情報 ・正常に通信されているか ・データのキャッシュをどう扱うか、などの情報 |
2層目 | 空行(CR+LF) | ・空行(CR+LF) | ・空行(CR+LF) |
3層目 | メッセージ・ボディ | ・Webサイトへのパラメーター | ・Webサイトのコンテンツ ・HTMLや画像データ |
・リクエストメッセージ / レスポンスメッセージに固有に含まれるヘッダ
一般ヘッダフィールド
・リクエストメッセージとレスポンスメッセージに共通して含まれ得る
・主にメッセージ全体の属性について示す
エンティティヘッダフィールド
・リクエストメッセージとレスポンスメッセージに共通して含まれ得る
・主にエンティティ(転送されるデータ。主にボディに含まれるデータなどの総称)の詳細や属性について示すフィールド
その他
・HTTPのRFCには定義されていないフィールドが格納される
・クッキー(Cookie)フィールド(RFC2965)などが挙げられる
HTTP 1.1で示される「HTTPリクエスト」のメッセージ・ヘッダ内訳
リクエスト・ライン
HTTPリクエスト行
・メソッド
・URL
・HTTPのバージョン
GET http://sakura.w4c.work/status/274 HTTP/1.1
リクエスト・ヘッダフィールド / Request Headers
Accept
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding
gzip, deflate, sdch
Accept-Language
ja,en-US;q=0.8,en;q=0.6,fr;q=0.4,ru;q=0.2
Referer
http://sakura.w4c.work/
User-Agent
Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36
一般ヘッダフィールド
エンティティヘッダフィールド
その他
Cookie
PHPSESSID=bkapfm90bsd76sjf1ig16n24k7
HTTP 1.1で示される「HTTPレスポンス」のメッセージ・ヘッダ内訳
ステータス・ライン
レスポンス状態行
・HTTPステータスコード
Status: HTTP/1.1 200 OK
レスポンス・ヘッダフィールド / Response Headers
Server
Apache
Expires
Thu, 19 Nov 1981 08:52:00 GMT
一般ヘッダフィールド
Date
Wed, 11 May 2016 22:46:55 GMT
Pragma
no-cache
Connection
close
エンティティヘッダフィールド
Content-Type
text/html; charset=UTF-8
その他
Cache-Control
no-store, no-cache, must-revalidate
Transfer-Encoding
chunked
メッセージ・ヘッダ / メッセージ・ボディ
メッセージ・ヘッダ > 1行目
リクエストライン / HTTPリクエスト行
・メソッド
・URL
・HTTPのバージョン
GET /status/234 HTTP/1.1
ステータスライン / レスポンス状態行
・HTTPステータスコード
HTTP/1.1 200 OK
メッセージ・ヘッダ > HTTPヘッダフィールド
リクエストヘッダフィールド
・使用しているブラウザ情報
・どのページから発生したリクエストなのか
・クッキー(cookie)情報
レスポンスヘッダフィールド
・サーバー情報
・正常に通信されているか
・データのキャッシュをどう扱うか、などの情報
メッセージ・ボディ
データ本体であるボディ
リクエストボディ
・Webサイトへのパラメーター
レスポンスボディ
・Webサイトのコンテンツ(HTML)