ネットワーク用語 > HTTP

HTTP

HTTP = Hypertext Transfer Protocol

HTTPとは - はてなキーワード

HTTP えいちてぃてぃぴぃ
Hypertext Transfer Protocol=ハイパーテキスト転送プロトコル。
つまり、ブラウザとサーバの間でHTML(もしくはウェブ文書)を送受信する為のプロトコル(取り決め)
2005年3月現在では、RFC2616 に HTTP/1.1 として仕様が纏められている。

Hypertext Transfer Protocol - Wikipedia

HyperText Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル、略称 HTTP)とは、WebブラウザとWebサーバの間でHTMLなどのコンテンツの送受信に用いられる通信プロトコルである。
RFC 2616で規定されている。ハイパーテキスト転送プロトコルとも呼ばれる。

概要
HTTP は HTML (HyperText Markup Language) や XML (Extensible Markup Language) によって記述されたハイパーテキストを転送することを主な目的としているが、転送する内容はハイパーテキストに限らず画像、音声などのバイナリデータも含め様々なデータを送ることができる。
 
HTTPはリクエスト-レスポンス型のプロトコルである。
すなわち、クライアントがサーバにリクエストメッセージを送信し、サーバがこれにレスポンスメッセージを返す。
レスポンスメッセージを返した時点で基本的にサーバは初期状態に戻る。
つまり、サーバがクライアントの状態を保存しない。
HTTP においてはトランスポート・プロトコルとして通常TCPを使用する。
 
基本的な考え方は非常に単純であり「何を」「どうして」ほしいのかを相手に要求する。
「何を」に当たるのがURL、「どうして」がメソッドにあたる。
 
World Wide WebにおけるWebページなどのリソースは、Uniform Resource Identifierによって指定される。
HTTP を使用してリソースにアクセスするときは、http: が先頭についた URL を使用する。
URL の例をあげる。
http://www.example.co.jp/~test/samples/index.html
 
最初、HTTP/0.9ではURLのみの簡単なやりとりであったが、HTTP/1.0でNNTPやSMTPのような各種ヘッダが定義され、HTTP cookieなどの利用が可能になった。
HTTP/1.1では複数データを転送するためのキープアライブ(keep-alive)機能やプロキシなどの利用も想定された仕様になった。

このほかの点を箇条書きで示す。

  • ポート番号80をデフォルトとして使用する(送信時は8080)。
  • TLSで暗号化され、セキュリティを確保したHTTPは、HTTPSと呼ばれる(httpsは実際にはURIスキームの1つであり、実際のプロトコルにはHTTP over SSL/TLSが用いられる)。
  • HTTP は基本的にサーバが状態を保持しない (stateless) プロトコルだが、データベースなどを使用するWebアプリケーションにおいては状態保持が必要だったため、そのためにいわゆる Cookie とよばれる機構が Netscape Communications Corporation によって導入された。Cookie を使用することによって状態を管理し、"セッション" を維持することが可能になる。
  • HTTPの拡張プロトコルとしてWebDAVがある。
  • UPnPでは、HTTPをUDP上で使用するHTTPUや、マルチキャストで使用するHTTPMUが規定された。

メソッド

HTTPでは8つのメソッドが定義されている。
ただし実際のHTTP通信ではGETとPOSTメソッドだけで殆どを占める。

HTTPメソッドの一覧
メソッドHTTP/0.9HTTP/1.0HTTP/1.1
GET
POST
PUT
HEAD
DELETE
OPTION
TRACE
CONNECT
  • GET
    指定されたURIのリソースを取り出す。
    HTTPの最も基本的な動作で、HTTP/0.9では唯一のメソッド。
  • POST
    GETとは反対にクライアントがサーバにデータを送信するメソッドである。
    Webフォームや電子掲示板、Wikiなどに投稿する。
    GETの場合と同じくサーバはクライアントにデータを返すことができる。
  • PUT
    指定したURIにリソースを保存する。
    URIが指し示すリソースが存在しない場合は、サーバはそのURIにリソースを作成する。
    画像のアップロードなどが代表的。
  • DELETE
    指定したURIのリソースを削除する。
  • OPTION
    サーバを調査するメソッド。
    例えばサーバがサポートしているHTTPのバージョンなどを調査できる。
  • HEAD
    GETと似ているがサーバはHTTPヘッダのみ返す。
    クライアントはWebページを取得せずともそのWebページが存在するかどうかを知ることが出来る。
    例えばWebページのリンク先が生きているか検証するときなどにリンク先のデータを全て取得することなく調査することが出来る。
  • TRACE
    サーバまでのネットワーク経路をチェックできる。
    サーバは受け取ったメッセージのそれ自体をレスポンスのデータにコピーして応答する。
    WindowsのTracertやUNIXのTracerouteとよく似た動作。
  • CONNECT
    暗号化したメッセージをプロキシで転送する際に用いる。

リンク

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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-05-25 (木) 16:19:39 (2528d)