[Edit][Create New]
[ IndexPage / ネットとプログラミング / web296 / No24.txt ]

No24.txt

前回、Webページの閲覧は、ほとんどがGETという命令のみで成り立っていると
いうことを解説しました。例えば<http://web296.com/index.html>というペー
ジを表示させたい場合、ブラウザはWebサーバーに接続し、

GET /index.html

という命令を投げるだけです。すると、
Webサーバーは<http://web296.com/index.html>の内容をブラウザに送ります。

厳密には、ブラウザは「GET /index.html」という情報の他にも、HTTPのバー
ジョン名や表示出来る言語の種類、ブラウザの名前などの様々な情報を送出し
ますが、これらは必須というわけではありません。基本的には上記の
「GET /index.html」だけで、トップページのHTMLファイルが取得できるのです。

では画像はどうなるのでしょうか? 上記のままでは、まだHTMLファイルしか取
得できていませんが、Webサーバーは無情にも接続を切ってしまいます。実は、
画像の取得はブラウザの役目になっているのです。ブラウザは、みずからHTML
ファイルを開き、内容を解釈し、必要な画像をリストアップし、そしてHTMLフ
ァイルと同じように画像ファイルを取得する命令を送信するのです。例えば、

GET /c_img/tit.gif

といった感じで。相対パスから絶対パスへの変換も基本的にWebブラウザの仕
事です。つまり、Webサーバーは特に画像を扱う機能を持っている訳ではなく、
頼まれたファイルをただ機械的に流しているだけなのです。

これは、音声やFlashファイルなどでも全く同じです。音声もFlashファイルも
Webサーバーから見ればHTMLファイルと同様ただのファイルです。それを機械
的にブラウザに送るだけで、あとはブラウザ任せとなっています。

GET /flash/flash.swf
GET /sound/sound.wav
GET /sound/sound.mid

といった感じです。前回も書きましたが、この挙動は、普通のWebサイトなら
80番ポートにtelnetすることで確認できます。例えばweb296のサイトなら、

telnet web296 80

としてサーバーに接続し、

GET /index.html

とするだけです。ここのindex.htmlの部分を変えてやれば、画像でもJavaでも
何でも取得できます。もちろん画面に文字として表示されてしまうので文字化
けしてしまいますが。基本的に、HTTPとは「あれちょーだい」と言われて「は
いこれあげる」と返すだけの、非常に単純なプロトコルなのです。