- HTTPヘッダを作るのは誰?
-
〔表1〕Content-Typeの例
|
図1,図2で,HTTPヘッダはHTTPサーバが作ると説明してきました.図1では,静的なページですのでHTTPヘッダを生成できるのは,HTTPサーバしかいません.しかし,ハードディスクに収められている情報ファイルには,そのファイルがどのような形式であるのか,という情報がありません.ファイル名を見ただけでは,そのファイルに含まれている情報がHTMLファイルなのか,JPEGファイルなのか決定できません.唯一,ファイル名の拡張子によってのみ,ある程度は判別が可能です.そのためほとんどのHTTPサーバでは,表1のように読み込んだファイルの拡張子によってContent-Typeを決定しています..htmlというファイルであればtext/html,.jpgであればimage/jpegとします.
もしファイル名の拡張子が,中身の形式と違うものがついていた場合,HTTPサーバはContent-Typeとして嘘の情報をクライアントに対して送ってしまうことになります.ですから,WWWで公開するファイルの拡張子は,一般的なものを付けておかないと,Webブラウザで表示できないことがありますので,注意が必要です.
図2では,ページの情報をHTTPサーバとは別のソフトウェアが生成しています.外部ソフトウェアが生成したファイルの形式はHTTPサーバにはわかりません.つまり,HTTPサーバがContent-Type情報をHTTPヘッダに付けることができません.
また,外部ソフトウェアにエラーが発生した場合,そのことをHTTPヘッダの情報としてHTTPクライアントに送りたいということもあります.そこで動的なページを生成する場合,HTTPヘッダはHTTPサーバが作るのではなく,外部ソフトウェアが生成します.
-
|