【書評】httpについて知る
プロになるためのweb技術入門からポイントを抜粋しています。
要約
WWWの世界でHTMLをやりとりするために定められたプロトコルが「HTTP」
HTTP通信は大きく「リクエスト(要求)」と「レスポンス(応答)」に分けられる
HTTPリクエストは「リクエスト・ライン」と「メッセージ・ヘッダ」がある
リクエスト・ライン
- メソッド ex) GET
- URI ex) http://www.littleforest.jp/webtext/index.html
- HTTPバージョン ex) HTTP/1.1
URIはURLとほぼ同じ
メッセージヘッダ
- Accept
- User-Agent
- Host
HTTPレスポンスには「ステータス・ライン」「メッセージ・ヘッダ」「メッセージ・ボディ」がある
ステータス・ライン
- HTTPバージョン ex) HTTP/1.1
- ステータス・コード ex) 200
- レスポンス・フレーズ ex) OK
メッセージ・ヘッダ
- Server
- Content-Type
メッセージ・ボディはHTMLファイルの内容がそのまま入っている
HTTPでは一度のリクエストで1つのリソースしか取得できないため、多くの画像を含むページは画像の数だけHTTPリクエストが発行されます。
リクエスト先のWebサーバはURLのホスト名の部分(www.littleforest.jp)で表せる。
ホスト名はIPアドレスに変換されてコンピュータは利用している。
インターネットで情報を届けるためにはIPアドレスの他にポート番号の指定が必要。
URLでポートを指定しないとデフォルトで「80」が指定される。
リクエストするときのパラメータの渡し方にはGETメソッドとPOSTメソッドがある。
GETメソッドの場合、リクエスト・ラインにパラメータ情報を組み込んで渡す。
PHPであれは$_GET['パラメータ名']で取り出せる
POSTメソッドの場合、メッセージ・ボディにパラメータ情報を組み込んで渡す。
PHPであれは$_POST['パラメータ名']で取り出せる
GETリクエストの特徴
- URLでパラメータが見えるのでセキュリティが低い
- URLをコピペして渡すと同じ結果が得られる(副作用がない)
POSTリクエストの特徴
- メッセージ・ボディに含まれているのでセキュリティが高い
- 長いパラメータでも送れる