back

初心者へ(基礎編)


はじめに
基礎の基礎を書く。 簡略化して書くので、一部、正確でないところがある。

プラウザ君のお仕事ってどんなものなの?
プラウザ君は、サーバさんへ私達の要求を伝える架け橋の役割をしてくれます。
私たちが「http://www.GhostTmp.com/」にアクセスしたいと言う手紙を渡すと、プラウザ君は「http://www.GhostTmp.com/」 を探して、そこのサーバさんに私たちのお手紙を渡してくれます。
そうするとサーバさんはお返事を書いてプラウザ君に渡します。そして、それを私たちに届けてくれるのです。
プラウザ君のお仕事はこれを何回も繰り返すことです。
では具体的にどのようなことをしているのでしょうか? 試しに「http://www.GhostTmp.com/test.html」にアクセスしてみましょう。

プラウザ君からサーバさんへ。(ポート80でIPアドレス12.1.1.7へ)

GET /test.html HTTP/1.1
# メソッド「GET」で、「12.1.1.7」の「test.html」にアクセスしろ(http://12.1.1.7/test.html)。
# 「HTTP/1.1」はプラウザの使用するHTTPプロトコルのバージョン(バージョンによって記述形式が若干違う)。
User-Agent: TmpTestClient/1.0 (Ghost98; I)
# 自分の使っているプラウザの名前。この場合、「Ghost98」上で実行されている「TmpTestClient」のバージョン「1.0」。
Host: www.GhostTmp.com
# サーバのHOST名。同じIPアドレスでも別のHOST名でアクセスできる場合があるため。
# つまりこの記述があるから、「http://www.GhostTmp.com/test.html」にアクセスすることになる。
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
# プラウザがうけいれることができるドキュメントの種類。

サーバからプラウザへお返事。

HTTP/1.0 OK
# サーバはHTTPプロトコルの「1.1」を使ってる。
# そのドキュメント「/test.html」があったこと。このお返事でそれが送信されていること。
Date: Sun, 04 Oct 1998 16:00:00 GMT
# これはサーバ上での時刻。GMTで表現されてる。
server: Apache/1.1.1
# サーバのソフトウエア。
Content-Type: text/html
# このファイルの種類をプラウザに教えている。「test.html」、つまりhtmlファイルのこと。
Content-lenght: 137
# test.htmlの大きさ(137バイト)。
Last-modified: Sun, 04 Oct 1998 12:00:00 GMT
# test.htmlの最終更新時。

# ↑ここに空行。
<title>bye-bye<title>
<h2>ほげほげ</h2>

# 「ほげほげ」と表示されます。

telnetでも同じことができます。
どっかのサーバにポート80にで接続して(23じゃないぞ)、「GET / HTTP/1.0」とやってみよう。
プラウザ君はいつもこのような複雑なことをやっているのです。少しは労ってあげましょう。

次回はメソッドの種類(なんだかあらし君養成講座みたい)。



なお、ここに書かれていることは転載可能です。直リンク、無断リンクもOKです。
文句、苦情、ご要望はhttp://neo.zipang.ne.jp/cgi-bin/home?shimane01/27までお願いします。