HTTPプロトコルについて簡単に解説します。
WWWサーバはデフォルトでは 80番ポートでTCP接続を待っています。
WWWクライアント(ブラウザ)は、サーバに要求を送ります。 要求には何種類かありますが、最も一般的なのはGET要求で、 「サーバ内のデータの位置」と「プロトコルのバージョン」を 指定して情報を送ってもらいます。
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 |