next up previous contents
Next: Server Up: Network Previous: Client

HTTP

wwwサーバとwww viewerとのデータのやりとりは、HTTPというプロトコルに 従って行われます。

HTTPプロトコルは、サーバとクライアント間に、コネクションを確立してから、 クライアントからのリクエストに対して、サーバが レスポンスを返すという形で、データのやりとりを行います。 一回のやりとりだけで、コネクションは、切断されます。

クライアントからのリクエストは、基本的に、行単位の人間が読める コマンドの形をしていますし、サーバからのレスポンスも、ヘッダ部分は、 ちゃんと人間が読めるようになっています。こうしたところは、SMTP(メイル) とかNNTP(ニュース)とかのプロトコルと共通しています。

HTTP/1.0

HTTP/1.0は、現在の標準的なプロトコルです。

リクエストの形式

HTTP/1.0でのGETリクエストは、次のような形をしています。

GET /doc/index.html HTTP/1.0
                                 <---- ここに空行が必要です。

もう少し一般的に言うと、HTTP/1.0のリクエストは、次のような形を しています。

       リクエスト行               <---- Method  URL   HTTP/1.0
       ヘッダ行達
       .....
                                  <---- ヘッダとデータ部分をわかつ空行。
      [データ]
ここで、Methodというのは、GET,HEAD,POST,PUT...等です。

レスポンスの形式

HTTP/1.0では、レスポンス・データの先頭に、次のようなヘッダが付けられます。

HTTP/1.0 200 Document follows          <---- 200 は、サーバからの"OK"の応答。
MIME-Version: 1.0                      <---- 依拠しているMIMEのバージョン。
Server: CERN/3.0                       <---- サーバのタイプ。
Date: Saturday, 29-Jul-95 06:03:53 GMT <---- 日付。
Content-Type: text/html                <---- データのMedia Typeを示す。
Content-Length: 1904                   <---- データ部分の大きさを示す。
Last-Modified: Wednesday, 12-Jul-95 03:37:34 GMT <---- データの最終変更日。
                                       <---- ヘッダとデータの境界を表す、空行。



maruyama@wakhok.ac.jp