HTTPの基本
HTTPのリクエストヘッダー
一行目をリクエストラインと呼び、二行目以降をリクエストヘッダと呼ぶ。
GET / HTTP/1.1 Accept: image/gif, image/jpeg, */* Accept-Language: ja Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1;) Host: www.xxx.zzz Connection: Keep-Alive
それぞれのヘッダの意味
GET / HTTP/1.1
- GET通信でHTTP1.1を使う
Accept: image/gif, image/jpeg, /
- ブラウザが解釈できるコンテンツタイプをMIMEタイプで伝える。/ の記号はどんな形式のデータも受信可能のであることをサーバーに伝える。MIMEタイプとは、スラッシュで区切った形で書く標準化された書き方。 https://developer.mozilla.org/ja/docs/Web/HTTP/Basics_of_HTTP/MIME_types
Accept-Language: ja
- ブラウザが解釈する言語をサーバーに伝える。
Accept-Encoding: gzip, deflate 圧縮されたデータをブラウザが解釈できる方法を示す。クライアントとサーバーが共通の圧縮アルゴリズムをサポートしている必要がある。サーバーが圧縮したコンテンツを送っても、ブラウザが解凍できないと意味がない。
HTTPリクエストヘッダ Accept-Encoding とは? | WEB ARCH LABO
User-Agent: Mozilla/4.0 (Compatible; MSIE 6.0; Windows NT 5.1;)
- ブラウザ自身の情報
Host: www.xxx.zzz
- サーバー名を送信する。
Connection: Keep-Alive
- Keep-Aliveで接続をし続けるメッセージになる。次回のコネクションのコストを減らせる。接続を辞める時は、closeを送信する。
HTTPレスポンス
HTTP/1.1 200 OK Date: Sun, 11 Jan 2004 16:06:23 GMT Server: Apache/1.3.22 (Unix) (Red-Hat/Linux) Last-Modified: Sun, 07 Dec 2003 12:34:18 GMT ETag: "1dba6-131b-3fd31e4a" Accept-Ranges: bytes Content-Length: 4891 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html <!DOCTYPE html> <html> : </html>
それぞれのヘッダー
HTTP/1.1 200 OK
- HTTP1.1 の通信でステータスコードが200
Date: Sun, 11 Jan 2004 16:06:23 GMT
- レスポンスを返した時の日時の情報
Server: Apache/1.3.22 (Unix) (Red-Hat/Linux)
- レスポンスを返したサーバーの名前
Last-Modified: Sun, 07 Dec 2003 12:34:18 GMT
- 最後にリソースに対する変更があった日時。リソースとはHTMLや画像の事。
ETag: "1dba6-131b-3fd31e4a"
- リソースが更新されたら変化する値
Accept-Ranges: bytes
Content-Length: 4891
- ボディの大きさを単位バイトで示す。
Keep-Alive: timeout=15, max=100
- timeout: 1回あたりのコネクション確立時間。 max: timeoutする前にこの接続でリクエストできる最大数
HTTPのkeepaliveの仕様を勘違い | thiroyoshi.blog
Connection: Keep-Alive Content-Type: text/html