前へ << クライアントを作るにあたっての注意点 | HTTP クライアントを作ってみよう(2) >> 次へ |
% telnet hostname portという書式でホスト名とポート番号を指定することができます。 つまり telnet は簡易クライアントにもなるのです。 ここでは http://www.cs.gunma-u.ac.jp/index.html をダウンロードしてみましょう。 Bold で書かれた部分を実際にタイプしてください。
% telnet www.cs.gunma-u.ac.jp 80 Trying 133.8.2.7... Connected to www.cs.gunma-u.ac.jp. Escape character is '^]'. GET /index.html HTTP/1.0(リターン) (続けてリターン)出力された内容と、 http://www.cs.gunma-u.ac.jp/index.html をブラウザで見て 「ソースを表示」したものと見比べてみてください。 同じ内容になっていますね? でもよく見てみると先頭部分が違います。
HTTP/1.1 200 OK Date: Fri, 19 Jun 1998 20:38:48 GMT Server: Apache/1.2.6 Last-modified: Wed, 04 Mar 1998 06:40:21 GMT Etag: "2d-794-34fcf755" Content-length: 1940 Accept-ranges: bytes Connection: close Content-type: text/html <!-- $Id: http-1.html,v 1.2 2004/06/12 05:28:18 68user Exp $ --> <HTML> <TITLE>Home Page of Department of Computer Science, Gunma University</TITLE> <BODY BACKGROUND="/icons/BackGround/welcomeBack.gif"> <CENTER> (以下略)先頭部分は、あまりなじみのない「HTTP/1.1 200 OK」とか 「Server: Apache/1.2.6」などの記述があります。 そして空行をはさんで HTML 文が書かれています。 空行より前の部分をヘッダ、空行より後の部分をボディ と言います。
普通、ブラウザの「ソースを表示」などの機能で見られるのは ボディだけですね。
GET /index.html HTTP/1.0(リターン) (リターン)というのが HTTP プロトコルです。
GET /~user/sample.cgi?data1=hoge&data2=fuga HTTP/1.0とします。
「HTTP/1.0」というのは HTTP プロトコルのバージョン 1.0 であることを意味します。 他にも HTTP/0.9・HTTP/1.1 があります。HTTP/0.9 は、HTTP プロトコルの テストバージョンのようなもので、現在はあえて使う必要はないでしょう。 HTTP/1.1 は使い込むと結構面白いので、後からとりあげます。
最後に「リクエストがここで終了ですよ」ということを示すために、 改行のみの行を送ります。
例えば http://www.foo.com/fuga/hoge.html を取得したい場合は、
% telnet www.foo.com 80 Trying 123.234.210.10... Connected to www.foo.com Escape character is '^]'. GET /fuga/hoge.html HTTP/1.0(リターン) (続けてリターン)とするわけです。
前へ << クライアントを作るにあたっての注意点 | HTTP クライアントを作ってみよう(2) >> 次へ |
ご意見・ご指摘は Twitter: @68user までお願いします。