HTTPについて
HTTPについてインターンのプラクティスで学習したのでそのメモ。
HTTPとは
HyperText Transfer Protocol の略で、Webサーバと、ブラウザ間で、ウェブページを送受信するためのプロトコル(=通信規約)のこと。テキスト形式のメッセージを交換することにより実現されている。
送られてきた結果であるHTML文書や、JPEGといった画像などのデータを整形して表示するのがブラウザの仕事。
requestメッセージ構文例
GET / HTTP/1.1 <!-- リクエスト行 --> Accept: image/gif, image/jpeg, */* <!-- ヘッダstart --> 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 <!-- ヘッダend --> # 空行 <!-- メッセージボディ (POSTメソッドなどで使用) -->
一行目は、リクエストラインと呼ばれ、
メソッド リクエストURI HTTPバージョン
という風に3つの部分に分けられる。
二行目以降は、リクエストヘッダと呼ばれ、
ヘッダ名: ヘッダ値
というかたちで情報が記載されている。
responseメッセージ構文例
HTTP/1.1 200 OK <!-- レスポンス行 --> Date: Sun, 11 Jan 2004 16:06:23 GMT <!-- ヘッダ start --> 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 <!-- ヘッダ end --> # 空行 <html> <!-- メッセージボディ start --> : </html> <!-- メッセージボディ end -->
一行目は、ステータタスラインと呼ばれ、
HTTP/バージョン ステータス番号 補足メッセージ
という風に3つの部分に分けられる。
二行目以降は、レスポンスヘッダと呼ばれ、リクエストヘッダ同様に、
ヘッダ名: ヘッダ値
といった具合に記載される。
参考URL
http://www.tohoho-web.com/ex/http.htm http://www.atmarkit.co.jp/fsecurity/index/index_httpbasic.html https://www.nic.ad.jp/ja/basics/terms/http.html