HTTP / Hyper Text Transfer Protocol


■ HTTP。Hypertext Transfer Protocol。

  WWWシステムが用いるクライアントサーバ型のプロトコル。
  旧バージョンのHTTP/1.0はRFC1945に、
  現バージョンのHTTP/1.1はRFC2616に規定されている。

  HTTPは、クライアント(Webブラウザ)のリクエストに対して、
  その都度サーバ(Webサーバ)がレスポンスを返す、シンプルな通信形態を採る。
  いわゆるステートレスなプロトコルである。

  とくに旧バージョンのHTTP/1.0では
  クライアント-サーバ間のTCPコネクションは
  一回のHTTPリクエスト-レスポンスごとに閉じられる。
  このため、個々のやり取りは互いに関連性を持たない。

■ HTTP/1.1。

  HTTP/1.0の改良版。
  1999年、IETFによりRFC2616として標準化された。
  HTTP/1.1は、HTTP/1.0と比較して、2つの点で大きく異なる。

  すなわち、HTTPレスポンス完了後もTCPセッションを維持する
  キープアライブ機能が標準として追加された。 
  また、1台のサーバマシンで複数のホストを運用できる
  バーチャルホスト機能が追加された。

  (1) キープアライブ機能。Keep Alive。

    HTTPレスポンス完了後もTCPセッションを維持する仕組み。
    これを持続的接続(Persistent Connection)という。
    リクエストヘッダの中で"Connection:close"を宣言してはじめて、
    TCPセッションを切断する。

    この機能により、Webサーバからファイルを受け取るときに、
    1回のTCP接続で複数のファイルを一気に受け取れるようになった。
    このためTCPの処理が減り、
    サーバやブラウザ、ネットワークにかかる処理を軽減できた。

    ただし、ショッピングカートなどを利用するには、
    やはりHTTP Cookieが必要になるので注意すること。
    そこまでの機能はない。

  (2) バーチャルホスト機能。Virtual Host。

    HTTP/1.1では、物理的に1台のサーバマシンで、
    仮想的に複数のホストを運用するための機能。

    具体的には、リクエストヘッダを見るだけで、
    どの仮想ホストへの要求かが判断できるように仕様を改めた。
    これによりサーバマシンは、
    複数の仮想ホストにリクエストを振り分けることができるようになった。

■ HTTPヘッダ。

  WebサーバとWebブラウザは、HTTPヘッダを使って、
  互いのソフトウェア情報や
  送受信するコンテンツに関する情報をやり取りする。

  HTTP/1.1ヘッダには、
  リクエストヘッダとレスポンスヘッダの2種類がある。

■ リクエストヘッダ。

  リクエストヘッダには、
  リクエストメソッド、要求リソースの特定、HTTPのバージョン、
  自身のエージェント名、相手先のホスト名などが順に記述される。

  さらに下記のように、WebブラウザやOSの種類、バージョン、
  直前に参照したURLなどの情報も格納されており、
  これらはWebサーバのログに選択的に記録することができる。

  GET /HTTP/1.1
  Accept             利用可能なメディアタイプ
  Accept-Language    優先言語
  User-Agent         WebブラウザとOSの種類、バージョン
  Host               参照したいURL
  Referer            直前の参照URL
  Via                経由したプロキシサーバの情報
  X-Forwarded-For    経由したプロキシサーバのアドレス
  Cookie             Cookie情報

■ リクエストメソッド。

  WebブラウザがWebサーバに対して命令するコマンド。
  HTTP/1.1における主なリクエストメソッドは下記の通りである。

  

■ レスポンスヘッダ。

  レスポンスヘッダには、
  HTTPのバージョン、レスポンスコード、HTTPサーバのタイプ、
  コンテンツのメディアタイプ等が順に記述される。

  HTTP/1.1 200 OK
  Date             応答した日時
  Content-Type     コンテンツのメディアタイプ
  Server           サーバの種類とバージョン
  Content-Length   コンテンツのバイト長

■ レスポンスコード。

  WebサーバからWebブラウザに送信する応答メッセージを番号で表現したもの。
  HTTP/1.1におけるレスポンスコードは下記の通りである。

  

  - 200 OK
    正常に送信を終了した。

  - 304 Not Modified
    指定のファイルが更新されていないため、キャッシへ転送。

  - 401 Unauthorized
    読み出しにはアクセス許可が必要。無許可では×。

  - 403 Forbidden
    指定ファイルはサーバ側で、読み出し禁止にしている。

  - 404 Not Found
    指定されたファイルは存在しない。URLが間違っている。
 
  - 500 Internal Server Error
    CGIプログラムソース等のエラーが発生。処理を中断。

■ 参照URL。

  Studying HTTP 様。
  http://www.studyinghttp.net/

以上。

2004/03/16 pm


HOME |  BACK

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!