![]() |
図2 Webブラウザの通信機能 まずユーザーが入力するか,リンク先として指定されているURLを解析する((1)~(3))。必要に応じて目的のWebサーバーのIPアドレスを調べたのち((4)’),Webサーバーと接続してHTTPのリクエスト・メッセージを送る((5))。 |

通信機能 ―― 賢い運び屋
URLを分解してリクエストを送る
Webブラウザが備える通信機能の役割は,HTTPを処理することだ。
URLを三つに分割
まずは,リクエスト・メッセージを送る仕事からだ。通常,Webブラウザがリクエスト・メッセージを送るきっかけになるのは,ユーザーがURLを入力したり,Webブラウザ上のリンク部分をクリックしたときである。このとき,Webブラウザの通信機能には,アクセス先のURLが通知される。
ユーザーが入力したり,リンク先として指定されたURLは,三つの要素に分けられる。それはプロトコル名,ドメイン名,およびパス名である。Webブラウザの最初の仕事は,このURLを三つに分割することなのである(図2[拡大表示])。例えば,日経NETWORKのURLだが,
http://nnw.nikkeibp.co.jp/nnw/index.html
のうち,プロトコル名は「http」,ドメイン名は「nnw.nikkeibp.co.jp」,パス名は「/nnw/index.html」と,Webブラウザが分割する。個別に処理し,HTTPが再びまとめる
Webブラウザは,これらをまったく別々に処理する。
プロトコル名は,サーバーと通信するためのプロトコルを決めるために使う。パソコン用Webブラウザの多くは,HTTPだけでなく,FTPなどのプロトコルにも対応しており,どのプロトコルを使うかが決まらないと,サーバーと通信を始められないからだ。
一方,ドメイン名の部分は,接続先WebサーバーのIPアドレスを探すために利用する。WindowsやUNIXなどの場合,DNSサーバーへアクセスしてドメイン名からIPアドレスを調べるソフトウエア(リゾルバと呼ぶ)は,TCP/IP処理ソフトの一部として,OSが標準で備えている。そこで,Webブラウザはこのリゾルバへ検索処理を依頼する。すると,リゾルバからドメイン名に対するIPアドレスが返ってくる。
利用するプロトコルと接続先WebサーバーのIPアドレスがわかったら,いよいよ通信を始める。HTTPを使う場合は,リクエスト・メッセージを作成することになる。通常は,先ほど分解したパス名を使って,最初の1行目に
GET /nnw/index.html HTTP/1.0
と記述し,2行目以降はWebブラウザにあらかじめ設定されている情報(例えばWebブラウザの名称やバージョン)をヘッダーとして書き込む。この書式はHTTPの規格で決まっているので,その規格通りに記述するのが,Webブラウザの仕事である。そして最後に,作成したリクエスト・メッセージを,OSのTCP/IPソフトを介してWebサーバーへ送信する。