7.7 Hyper Text Transfer Protocol(HTTP)

ウェブの情報を取得するためのプロトコルが HTTP です。その基本は情報 取得にありますが、cgiなどのために情報をアップする方法も含んでいます。 通常、ブラウザで指定するのはURL(Unified Resource Location)というものを 指定します。例えば、以下のURLをブラウザで指定する事は、

    http://www.wakhok.ac.jp/

実際には、HTTPプロトコルを使って、サーバ www.wakhok.ac.jp にアクセスし、 / を取得するということを意味しています。 これは、telnet を使って以下のように行う事と同じです。

> telnet www.wakhok.ac.jp 80
Trying 10.0.0.2...
Connected to ultra02.
Escape character is '^]'.
GET /

このように取得した HTML (Hyper Text Markup Language で書かれた)文書は、 リンクがあればブラウザが自動的にそれらのリンクを取得し、最終的に 絵や動画の入った画面が映し出される仕組みになっています。

元々、HTTP ではコネクションは情報の取得が終わると直ぐに終わるように なっていましたが、その後拡張され、現在では以下のようなメッセージを クライアントからサーバに向かって送っています。

    GET / HTTP/1.1\r\n
    HOST: www.wakhok.ac.jp\r\n
    USER-Agent: Mozilla/5.x (Windows; U; Windows NT 5.0; ja-JP; ...)...\r\n
    Accept: application/x-shockwave-flash,text/xml,application/xml,...\r\n
    Accept-Language: ja,en-us;q=0.7,en;q=0.3\r\n
    Accept-Encodeing: gzip,deflate,compress;q=0.9\r\n
    Accept-Charset: EUC-JP,utf-8;q=0.7,*;q=0.7\r\n
    Keep-Alive: 300\r\n
    Connection: keep-alive\r\n

ここでは、最後の2行で、コネクションを切らずに次のデータ取得を効率化できる ように指示しています。

HTTPでは標準では80番ポートをサーバに利用しますが、別に他のプライベート ポートを利用しても全く問題はありません。例えば、良くユーザが自分で サーバを立ち上げる場合には8080番ポートなどが利用されます。この場合、 URLでは以下のように指定できます。

    http://www.wakhok.ac.jp:8080/

こうすると、www.wakhok.ac.jp上で、ユーザが独自に動かした ウェブサーバが8080番で動いていると考えて、ブラウザはそこにアクセスを しようとします。



Noriyo Kanayama