リソースを送り届けるサーバからのレスポンス
リクエストを受けたサーバが要求されたリソースを見付けると、それをWebブラウザに送信することになる。
- 指定されたHTMLファイルを送る。Webページには多くの画像やアニメーションが貼り込まれているほか、別のHTMLファイルが入れ子になっていることもある。これらはHTMLファイルにタグとして入れる場所や大きさが指定されている
- WebブラウザがHTMLファイルを受け取ると、取得してきたHTMLファイルを解釈し、タグで指定されている画像やその他のリソースを調べる
- HTMLファイルの中にある画像ファイルや他のリソースを同じくHTTPで取得する。ただ、リンクが張られているWebサーバは同一のサーバではないことも多いので、この場合はさまざまなサーバに対して、HTTPのセッションを確立し、ファイルを取得する
- 結果として、取得した複数のリソースをレンダリングして、1つのまとまったWebページとしてユーザーに提供する
レスポンスのメッセージもリクエストと同様に「レスポンス行」と、メッセージヘッダが用意されている。
レスポンス行には、HTTPのバージョンと状態コード、そして状態の理由が書き込まれる。
このうち状態コードとは、送信状態を3桁の数字で表したもので、200番台は成功のステータス、400番台はクライアントエラー、500番台はサーバエラーを表わす。200番台はリソースをきちんと送信できたという意味なので、取得したリソースが表示されるが、500番台はエラーメッセージとしてWebブラウザ上に表示されることがある。たとえば「505 Internal Server Error」などのエラーは見たことがあるかもしれない。また、指定したリソースがサーバ上にないことを示す「404 Not Found」もよく知られたメッセージである。
一方、サーバ側からのメッセージヘッダは、サーバ名(Server)や生成されてからの時間(Age)、ユーザー認証の要求(WWW-Authenticate)などがある。また、レスポンスの目的であるコンテンツの実体(エンティティ)の状態を表示する「エンティティヘッダフィールド」と呼ばれるフィールドもある。
エンティティのデータ形式は、通常のHTMLファイルであれば「Content-Type:text/html」と指定されるが、Wordファイルだと「Content-Type:application/msword」となる。この規格はテキスト以外のデータを送受信するために作られた電子メールの「MIME(Multi Purpose Internet Mail Extension)」をそのまま採用している。
そして、こうしたレスポンス行やメッセージヘッダのあとに、本命のコンテンツが挿入される。実際のコードを開くと、HTMLやXMLなどのタグが記載されている。
(次ページ、「HTTP1.1を用いて効率的な転送を」に続く)
この連載の記事
-
第8回
ネットワーク
どうして携帯電話でインターネットできるの? -
第7回
ネットワーク
Webにまつわる危険をきちんと知っていますか? -
第5回
ネットワーク
高度なWebアプリケーションを実現するRIAの仕組み -
第4回
ネットワーク
HTMLからXMLへ!Webを彩るコンテンツを知ろう -
第3回
ネットワーク
今さら聞けないWebサーバの役割と機能 -
第2回
ネットワーク
サーバを指定するURLの仕組み -
第1回
ネットワーク
Webブラウザから拡がる楽しい世界 -
ネットワーク
WWW完全制覇 - この連載の一覧へ