HTTP


HTTPプロトコルについて簡単に解説します。

WWWサーバ (HTTP)


WWWサーバはデフォルトでは 80番ポートでTCP接続を待っています。

WWWクライアント(ブラウザ)は、サーバに要求を送ります。 要求には何種類かありますが、最も一般的なのはGET要求で、 「サーバ内のデータの位置」と「プロトコルのバージョン」を 指定して情報を送ってもらいます。

HTTPプロトコル

WWWサーバとWWWクライアント(ブラウザ)の間で交わされる通信は HTTP (Hyper Text Transfer Protocol) プロトコルという 通信手順に基づいています。

telnetプログラムを使ってWWWサーバに直接接続して、 WWWサーバとHTTPプロトコルで直接通信してみましょう。

localhost上のWWWサーバと直接通信した例
PROMPT$ <I>telnet localhost 80</I> <IMG SRC="/local-icons/enter.gif">
<I>GET /index.html HTTP/1.0</I> <IMG SRC="/local-icons/enter.gif">  ←要求をタイプ
<IMG SRC="/local-icons/enter.gif">                   ←改行だけの行
HTTP/1.1 200 OK       ←この行以降がWWWサーバから送られてくるデータ(この行必須)
Date: Thu, 10 Aug 2000 13:25:12 GMT
Server: Apache/1.3.12 (Unix)
Last-Modified: Mon, 24 Jul 2000 05:54:11 GMT
ETag: "3c5ee-22b-397bda03"
Accept-Ranges: bytes
Content-Length: 555
Connection: close
Content-Type: text/html     ←ここまでがヘッダの情報(この行必須)
                            ←空行(改行のみの行)
<HTML>                ← ここからHTMLデータが送られてきます。
<HEAD><TITLE>
...                   ←これ以降、省略

どのような情報がブラウザからWWWサーバに送られているかを観察して みましょう。

ブラウザがWWWサーバに送る情報
GET / HTTP/1.1                  ←ブラウザ(IE)がアクセスしてきた
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
Accept-Language: ja
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: nw.tsuda.ac.jp:8000
Connection: Keep-Alive