第1章 Webブラウザがメッセージを作る
HTTPリクエスト・メッセージを作成する
- まずユーザがブラウザにURLを入力するところがスタートとなる。
- URLは以下のような構成となっている。
- ブラウザはURLを解読し、上記の要素を読み取る。
- ファイル名が省略されている場合は、サーバ側に設定されたデフォルトファイル(ケースによるがindex.htmlとかdefault.htmとか)を指定しているものとする、というルールが存在する。
- HTTPリクエスト・メッセージには「何を」「どうする」のかが書かれる。
- 「何を」に相当するものをURIと呼ぶ。URLで指定しているファイルパスのこと。
- 「どうする」に相当するものをメソッドと呼ぶ。GETやPOSTなど。他は殆ど使わない。
- URLを解読し、webサーバとファイル名がわかったらブラウザはHTTPメッセージフォーマットに従ってリクエスト・メッセージを作成する。
- リクエストメッセージの1行目をリクエストラインと呼び、この1行でリクエストの内容がだいたい分かるようになっている。
- 2行目からメッセージヘッダが入り、リクエストの付加的情報(DateとかAuthoriztionとかUser-Agentとか)がはいる。
- メッセージヘッダの後に、メッセージボディ部が始まり、ここにはPOSTメソッドの場合はサーバに渡す情報がはいる。なおこの部分はバイナリデータとなっている。
リクエストを送るとレスポンスが帰ってくる
- レスポンスメッセージのフォーマットも基本的にはリクエストメッセージと同じ。
- ただし1行目が異なり、サーバ側の処理が正常終了したのかエラーが起きたのかを示すステータスコードとレスポンスフレーズが書かれている。
- レスポンスメッセージが返ってくれば、ブラウザはそこからデータを取り出し画面に表示する。
- ページが文章だけであれば、リクエストとレスポンスの一度のやり取りだけで済む。
- 画像などが張り込んでいる場合は、文章の中にタグという制御情報が埋め込まれており、ブラウザは一旦文章を全て表示した後、タグが埋め込まれている箇所を空けておき、画像取得のリクエストを送る。
- リクエスト・メッセージに記載するURIは1つと決まっているため、画像取得は1回ずつしか行えない。したがって、一つのページに画像タグが3つある場合は、文章と画像3つで合わせて4つのリクエストを送ることになる。