HTTPとは
(エイチティーティーピー,ハイパーテキスト転送プロトコル,)
HTTPとは、WWW(World Wide Web)において、サーバー(Webサーバー)とクライアント(Webブラウザ)が、HTML文書をはじめとした各種情報をやり取りするために利用する通信プロトコルのことである。
HTTPは、TCP上でパケット単位で情報のやりとりを行う。
その特徴は、基本的にステートレスな通信であり、一つの要求(リクエスト)に対し、一つの応答(レスポンス)で完結するというシンプルさにある。
リクエストを受けたWebサーバーは、HTMLで記述された文書ファイルやHTMLによって関連付けられたマルチメディアデータなどをクライアントに転送する。
Webブラウザは、受信したデータを解析し、レンダリングを行って、整理されたHTML文書として画面に表示する。
HTTPにおけるデータは、制御情報を持つHTTPヘッダ部と、コンテンツデータを含むHTTPボディ部からなる単純な構造をしている。
転送可能な情報の種類には、特に制限がない。
HTTPにSSL(Secure Sockets Layer)の暗号化を施し、セキュリティ性を向上させたプロトコルとして、HTTPSがある。
ちなみに、HTTPのポート番号はデフォルトでは80番であり、HTTPSのポート番号はデフォルトで443番となっている。
HTTPは、ファイル伝送に利用されるFTPや、電子メールのやりとりに用いられるSMTPなどと並び、インターネット上で最も頻繁に利用されるプロトコルの一種となっている。
HTTP1.1において、HTTP要求で指定されるHTTPメソッドには、GET、POST、PUT、HEAD、DELETE、CONNECT、OPTIONS、TRACEなどがある。
それぞれの意味は、GETは、相手サーバーからクライアントへのファイル伝送要求、POSTは、クライアントから相手サーバーへのデータ送信要求(HTTPボディ部を用いる)、PUTは、クライアントから相手先サーバーへのファイルのアップロード要求、HEADは、相手先サーバーのファイル更新情報の問い合わせ要求、DELETEは、相手先サーバーのファイルの削除要求、CONNECTは、プロキシの指定要求、OPTIONSは、利用可能なオプションの問い合わせ要求である。
Web上での典型的な利用の仕方としては、おおむね以下の通りである。
まず、ユーザーは、Webブラウザ上で参照先ドキュメントのURL(Uniform Resource Locator)を指定する。
URLは「http://server.mydomain.jp/dir/document.html」のような形をしている。
「http」は、プロトコルの種類(暗号化通信の場合は、httpsとなる)、「server.mydomain.jp」は、接続先ドメイン名を意味する。
Webブラウザは、ドメイン名をDNSに問い合わせ、IPアドレスを得て80番ポートに接続する。
接続が成功すると、相手先のサーバーに対して、1行目に「GET /dir/document.html HTTP/1.0」のようなデータを持つ、HTTPヘッダ部を持つHTTP要求パケットを送信する。
この1行をリクエスト行と呼ぶ。
ここで「GET」は、HTTPメソッドの一つで、ファイルの伝送を要求するものである。
次の「/dir/document.html」は伝送要求する文書名で、サーバー上の論理的なパス名で指定する(物理的なパス名と一致するとは限らない)。
最後の「HTTP/1.0」は利用するHTTPプロトコルのバージョンを指定している。
この要求を受信した相手先のWebサーバーは、「HTTP/1.0 200 OK」のような行(レスポンス行)を含むHTTPレスポンスを返す。
ここで、「HTTP/1.0」は、HTTPプロトコルのバージョン、「200」はステータス番号で200は正常の意味である。
異常の場合は200番以外の数値が返る。
「OK」は、補足メッセージで、エラー時には付加的な情報を返す。
要求された文書データは、HTTPレスポンスのHTTPボディ部で伝送される。
ヘッダ部とボディ部の区切りは、空行1行で指定される。
用語解説出典
powered by. Weblio