HTTPの基本

HTTPの歴史

  • HTTPは、1989年3月に生まれた

  • CERN(欧州素粒子物理学研究所)のTim Berners-Lee が遠隔地にいる研究者同士が知識を共有するための仕組みを考案した。

  • 当時のWWWとは、ハイパーテキストを閲覧するためのアプリケーションのことをさしていた。

  • 1990年には、世界初のWebサーバーとWebブラウザが開発された。

  • 1993年1月、イリノイ大学のNCSAにて、WebブラウザのMozaicが開発された。そして、このことに同じくNCSAのWebサーバー、NCSA HTTPd 1.0が登場した。

  • 1994年12月、Natscape Navigator1.0リリース

  • 1995年マイクロソフト Internet Explorer1.0, 2.0リリース

  • HTTPが登場した1990年の仕様は、HTTP/0.9と呼ばれる。当時はまだHTTPは正式な仕様書はなかった。

  • 1996年5月、HTTP/1.0が登場(RFC1945)

  • 1997年1月、HTTP/1.1が登場(RFC2616)。HTTP/1.0から持続的接続、パイプライン、転送コーディングなどの機能が加わった。

  •  

    WWWの3つの基本技術

  • 文書記述言語としてSGMLをベースにしたHTML(HyperText Markup Language)

  • 文書転送プロトコルとして、HTTP(HyperText Transfer Protocol)

  • 文書の場所を指定する URI(Uniform Resource Identifiers)


  • URI

  • URI ; リソースの識別子

  • URIは、スキームであらわせるリソースを識別するための識別子。
  • URIのスキームはIANAに登録されているもので30ほどある。

    URIのフォーマット
    
    スキーム://ユーザ名:パスワード@ホスト名:ポート番号/絶対パス?クエリー文字列#フラグメント
    

    スキームリソースにアクセスする手段を識別する。http, https, ftpなどがある。
    ユーザ名プロトコルがユーザー名を認識する場合には、リソースにアクセスすることができるユーザ名(URIには含まれていない。)
    パスワードユーザー名に対応するパスワード。(URIには含まれていない)
    ホスト名そのリソースを持っているコンピュータの名前。大文字、小文字の区別はない。
    ポート番号サーバーがサービスを提供しているポート番号。ポート番号が明示されていない場合は、80番。
    絶対パスそのコンピュータ内でのリソースの場所。サーバーがUNIX系OSの場合は、大文字、小文字の区別がある。
    クエリー文字列指定したリソースに情報を渡すときに使用する。(検索エンジンのキーワードなど)
    フラグメントリソース内の特定部分を指す識別子。フラグメントはリソース取得後にのみ意味を持つ。(URIに含まれていない)