データ形式を判別するHTTPヘッダ
〔図3〕HTTPサーバからHTTPクライアントに返される情報の構造
〔図3〕HTTPサーバからHTTPクライアントに返される情報の構造
 HTTPクライアントの立場になってみましょう.HTTPクライアントがHTTPサーバに情報取得の要求を送ると,サーバから返事が返ってきます.このときサーバから返ってくる情報は,図3のような形式になっています.まず,HTTPヘッダがあり,そのあとに空行,続いてHTTPデータとなります.
 HTTPデータの部分には,本来送ってもらいたいHTMLや画像ファイルが格納されます.HTMLのようなテキストファイルもJPEGやMPEGといった画像ファイル,MP3やWAVファイルなどの音声ファイルもそのままの形で格納されます.つまり空行を表す0x0a,0x0dの後から,通信の最後までがそのままの生データとなります.
 では,HTTPクライアントにおいてこのデータがHTMLファイルなのか,画像ファイルなのか,音声ファイルなのかを,どのようにして区別したらよいのでしょうか.データを見て,HTMLらしければHTMLファイルとして,音声ファイルらしければ音声ファイルとして扱うという方法もありますが,それでは完璧にファイルの種類を特定することは不可能です.
 そこでHTTPでは,HTTPサーバがHTTPクライアントに,「HTMLファイルです」や「JPEG形式の画像ファイルです」ということを付加情報として転送することになっています.この付加情報は,HTTPヘッダに格納されています.
図4にtelnetでhttp://www.cqpub.co.jp/をアクセスした結果を示します.7行目から11行目までがHTTPヘッダ情報,12行目が空行で,13行目からがデータとなっています.10行目のContent-Type: text/htmlの部分が「データは,HTML形式のテキストファイルです」と表しています.Content-Typeが取る形式は,表1(次ページ)のようにさまざまなものがあります.
  〔図4〕telnetによるアクセスのようす
      
(タイプした文字が表示されない場合もある.まちがいのないようにキー入力する)

〔図4〕telnetによるアクセスのようす


 CQ出版 TOP OPENDESIGN TOPOPENDESIGN Online目次に戻る
  
Copyright CQ Publishing Co.,Ltd. 1997-2001