HTTPとは?

Weblio|辞書<国語辞典・国語辞書・百科事典>

初めての方へ

参加元一覧


用語解説|ニュース
Weblio 辞書コンピュータPHP用語HTTPの解説 

PHP用語集

PHPプロ!PHPプロ!

IT用語辞典バイナリ

IT用語辞典バイナリIT用語辞典バイナリ

HTTP

フルスペル:Hypertext Transfer Protocol
読み方エイチティーティーピー
別名:ハイパーテキスト転送プロトコル

HTTPとは、WWWWorld Wide Web)において、サーバーWebサーバー)とクライアントWebブラウザ)が、HTML文書をはじめとした各種情報をやり取りするために利用する通信プロトコルのことである。

HTTPは、TCP上でパケット単位情報やりとりを行う。その特徴は、基本的にステートレスな通信であり、一つ要求リクエスト)に対し、一つ応答レスポンス)で完結するというシンプルさにある。リクエストを受けたWebサーバーは、HTML記述された文書ファイルHTMLによって関連付けられたマルチメディアデータなどをクライアント転送する。Webブラウザは、受信したデータ解析し、レンダリングを行って、整理されたHTML文書として画面表示する。

HTTPにおけるデータは、制御情報を持つHTTPヘッダ部と、コンテンツデータを含むHTTPボディ部からなる単純な構造をしている。転送可能な情報種類には、特に制限がない。

HTTPにSSLSecure Sockets Layer)の暗号化施しセキュリティ性を向上させたプロトコルとして、HTTPSがある。ちなみに、HTTPのポート番号デフォルトでは80番であり、HTTPSポート番号デフォルト443番となっている。

HTTPは、ファイル伝送利用されるFTPや、電子メールやりとりに用いられるSMTPなどと並びインターネット上で最も頻繁利用されるプロトコル一種となっている。

HTTP1.1において、HTTP要求指定されるHTTPメソッドには、GETPOSTPUTHEADDELETE、CONNECT、OPTIONS、TRACEなどがある。それぞれの意味は、GETは、相手サーバーからクライアントへのファイル伝送要求POSTは、クライアントから相手サーバーへのデータ送信要求(HTTPボディ部を用いる)、PUTは、クライアントから相手サーバーへのファイルアップロード要求HEADは、相手サーバーファイル更新情報問い合わせ要求DELETEは、相手サーバーファイル削除要求、CONNECTは、プロキシ指定要求、OPTIONSは、利用可能なオプション問い合わせ要求である。

Web上での典型的利用仕方としては、おおむね以下の通りである。まず、ユーザーは、Webブラウザ上で参照先ドキュメントURLUniform 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行で指定される。

通信方式のほかの用語一覧
TCP/IP:  finger  FTP  FYI  HTTP  パッシブモード  ホストアドレス  ポートスキャン


PHP関数リファレンス

PHP Documentation GroupPHP Documentation Group

HTTP

この HTTP 拡張モジュールの狙いは、PHP アプリケーションのために便利で強力な機能を提供することです。
HTTP の URL、日付、リダイレクト、ヘッダおよびメッセージを 使いやすくし、クライアントの希望する言語および文字セットの ネゴシエーション手段を提供します。 また、任意のデータを送信する際にキャッシュやリジュームの機能を もたせることができます。
CURL サポート込みでビルドされている場合は、 強力なリクエスト機能を提供します。PHP 5 以降では、 複数のリクエストを平行して実行することができます。
このマニュアルでは、API リファレンスに加えて インストールや設定の方法、定義済みのグローバル定数などを 以下の節で説明しています。
インストール
設定
グローバル定数

目次

インストール — HTTP 拡張モジュールのインストールおよび設定
設定 — http モジュールの設定ディレクティブ
定数 — 定義済みの http モジュールの定数
HttpMessage — HTTP メッセージクラス
HttpMessage::__construct — HttpMessage のコンストラクタ
HttpMessage::fromString — 文字列から HttpMessage を作成する
HttpMessage::toString — 文字列表現を取得する
HttpMessage::toMessageTypeObject — メッセージの型に応じた HTTP オブジェクトを作成する
HttpMessage::guessContentType — content type を推測する
HttpMessage::detach — HttpMessage をデタッチする
HttpMessage::prepend — メッセージを先頭に追加する
HttpMessage::reverse — メッセージチェインを逆順にする
HttpMessage::send — メッセージを送信する
HttpMessage::getParentMessage — 親メッセージを取得する
HttpMessage::getType — メッセージの型を取得する
HttpMessage::setType — メッセージの型を設定する
HttpMessage::getHttpVersion — HTTP バージョンを取得する
HttpMessage::setHttpVersion — HTTP バージョンを設定する
HttpMessage::getHeaders — メッセージのヘッダを取得する
HttpMessage::getHeader — ヘッダを取得する
HttpMessage::addHeaders — ヘッダを追加する
HttpMessage::setHeaders — ヘッダを設定する
HttpMessage::getBody — メッセージの本文を取得する
HttpMessage::setBody — メッセージの本文を設定する
HttpMessage::getRequestMethod — リクエストメソッドを取得する
HttpMessage::setRequestMethod — リクエストメソッドを設定する
HttpMessage::getRequestUrl — リクエスト URL を取得する
HttpMessage::setRequestUrl — リクエスト URL を設定する
HttpMessage::getResponseCode — レスポンスコードを取得する
HttpMessage::setResponseCode — レスポンスコードを設定する
HttpMessage::getResponseStatus — レスポンスのステータスを取得する
HttpMessage::setResponseStatus — レスポンスのステータスを設定する
HttpQueryString — HTTP クエリ文字列クラス
HttpQueryString::__construct — HttpQueryString のコンストラクタ
HttpQueryString::singleton — HttpQueryString のシングルトン
HttpQueryString::get — クエリ文字列 (の一部) を取得する
HttpQueryString::mod — クエリ文字列の複製を変更する
HttpQueryString::set — クエリ文字列パラメータを設定する
HttpQueryString::toArray — クエリ文字列を配列で取得する
HttpQueryString::toString — クエリ文字列を取得する
HttpQueryString::xlate — クエリ文字列の文字セットを変更する
HttpDeflateStream — HTTP 圧縮ストリームクラス
HttpDeflateStream::__construct — HttpDeflateStream クラスのコンストラクタ
HttpDeflateStream::update — 圧縮ストリームを更新する
HttpDeflateStream::flush — 圧縮ストリームをフラッシュする
HttpDeflateStream::finish — 圧縮ストリームを終了する
HttpInflateStream — HTTP 展開ストリーム
HttpInflateStream::__construct — HttpInflateStream クラスのコンストラクタ
HttpInflateStream::update — 展開ストリームを更新する
HttpInflateStream::flush — 展開ストリームをフラッシュする
HttpInflateStream::finish — 展開ストリームを終了する
HttpRequest — HTTP リクエストクラス
HttpRequest::addCookies — クッキーを追加する
HttpRequest::addHeaders — ヘッダを追加する
HttpRequest::addPostFields — POST フィールドを追加する
HttpRequest::addPostFile — POST ファイルを追加する
HttpRequest::addPutData — PUT データを追加する
HttpRequest::addQueryData — クエリデータを追加する
HttpRequest::addRawPostData — 生の POST データを追加する
HttpRequest::addSslOptions — SSL オプションを追加する
HttpRequest::clearHistory — 履歴を消去する
HttpRequest::__construct — HttpRequest のコンストラクタ
HttpRequest::enableCookies — クッキーを有効にする
HttpRequest::getContentType — content type を取得する
HttpRequest::getCookies — クッキーを取得する
HttpRequest::getHeaders — ヘッダを取得する
HttpRequest::getHistory — 履歴を取得する
HttpRequest::getMethod — メソッドを取得する
HttpRequest::getOptions — オプションを取得する
HttpRequest::getPostFields — POST フィールドを取得する
HttpRequest::getPostFiles — POST ファイルを取得する
HttpRequest::getPutData — PUT データを取得する
HttpRequest::getPutFile — PUT ファイルを取得する
HttpRequest::getQueryData — クエリデータを取得する
HttpRequest::getRawPostData — 生の POST データを取得する
HttpRequest::getRawRequestMessage — 名前のリクエストメッセージを取得する
HttpRequest::getRawResponseMessage — 生のレスポンスメッセージを取得する
HttpRequest::getRequestMessage — リクエストメッセージを取得する
HttpRequest::getResponseBody — レスポンスの本文を取得する
HttpRequest::getResponseCode — レスポンスコードを取得する
HttpRequest::getResponseCookies — レスポンスのクッキーを取得する
HttpRequest::getResponseData — レスポンスデータを取得する
HttpRequest::getResponseHeader — レスポンスヘッダを取得する
HttpRequest::getResponseInfo — レスポンスの情報を取得する
HttpRequest::getResponseMessage — レスポンスメッセージを取得する
HttpRequest::getResponseStatus — レスポンスのステータスを取得する
HttpRequest::getSslOptions — ssl オプションを取得する
HttpRequest::getUrl — url を取得する
HttpRequest::resetCookies — クッキーをリセットする
HttpRequest::send — リクエストを送信する
HttpRequest::setContentType — content type を設定する
HttpRequest::setCookies — クッキーを設定する
HttpRequest::setHeaders — ヘッダを設定する
HttpRequest::setMethod — メソッドを設定する
HttpRequest::setOptions — オプションを設定する
HttpRequest::setPostFields — POST フィールドを設定する
HttpRequest::setPostFiles — POST ファイルを設定する
HttpRequest::setPutData — PUT データを設定する
HttpRequest::setPutFile — PUT ファイルを設定する
HttpRequest::setQueryData — クエリデータを設定する
HttpRequest::setRawPostData — 生の POST データを設定する
HttpRequest::setSslOptions — SSL オプションを設定する
HttpRequest::setUrl — URL を設定する
HttpRequestPool — HTTP リクエストプールクラス
HttpRequestPool::attach — HttpRequest をアタッチする
HttpRequestPool::__construct — HttpRequestPool のコンストラクタ
HttpRequestPool::__destruct — HttpRequestPool のデストラクタ
HttpRequestPool::detach — HttpRequest をデタッチする
HttpRequestPool::getAttachedRequests — アタッチされているリクエストを取得する
HttpRequestPool::getFinishedRequests — 終了したリクエストを取得する
HttpRequestPool::reset — リクエストプールをリセットする
HttpRequestPool::send — すべてのリクエストを送信する
HttpRequestPool::socketPerform — ソケットアクションを実行する
HttpRequestPool::socketSelect — ソケットの選択を実行する
HttpResponse — HTTP レスポンスクラス
HttpResponse::capture — スクリプトの出力を取り込む
HttpResponse::getBufferSize — バッファサイズを取得する
HttpResponse::getCacheControl — cache control を取得する
HttpResponse::getCache — キャッシュを取得する
HttpResponse::getContentDisposition — content disposition を取得する
HttpResponse::getContentType — content type を取得する
HttpResponse::getData — データを取得する
HttpResponse::getETag — ETag を取得する
HttpResponse::getFile — ファイルを取得する
HttpResponse::getGzip — gzip を取得する
HttpResponse::getHeader — ヘッダを取得する
HttpResponse::getLastModified — 最終更新日時を取得する
HttpResponse::getStream — ストリームを取得する
HttpResponse::getThrottleDelay — throttle delay を取得する
HttpResponse::guessContentType — content type を推測する
HttpResponse::send — レスポンスを送信する
HttpResponse::setBufferSize — バッファサイズを設定する
HttpResponse::setCacheControl — cache control を設定する
HttpResponse::setCache — キャッシュを設定する
HttpResponse::setContentDisposition — content disposition を設定する
HttpResponse::setContentType — content type を設定する
HttpResponse::setData — データを設定する
HttpResponse::setETag — ETag を設定する
HttpResponse::setFile — ファイルを設定する
HttpResponse::setGzip — gzip を設定する
HttpResponse::setHeader — ヘッダを設定する
HttpResponse::setLastModified — 最終更新日時を設定する
HttpResponse::setStream — ストリームを設定する
HttpResponse::setThrottleDelay — throttle delay を設定する
http_cache_etag — ETag でキャッシュする
http_cache_last_modified — 最終更新日時でキャッシュする
http_chunked_decode — chunked-encoded データをデコードする
http_deflate — データを圧縮する
http_inflate — データを展開する
http_get_request_body_stream — リクエストの本文をストリームとして取得する
http_get_request_body — リクエストの本文を文字列として取得する
http_get_request_headers — リクエストヘッダを配列として取得する
http_date — HTTP の RFC に準拠した日付を作成する
http_support — 組み込みの HTTP サポートを調べる
http_match_etag — ETag を比較する
http_match_modified — 最終更新日時を比較する
http_match_request_header — 任意のヘッダを比較する
http_build_cookie — クッキー文字列を作成する
http_negotiate_charset — クライアントが希望している文字セットを選択する
http_negotiate_ctype — クライアントが希望している content type を選択する
http_negotiate_language — クライアントが希望している言語を選択する
ob_deflatehandler — 圧縮出力ハンドラ
ob_etaghandler — ETag 出力ハンドラ
ob_inflatehandler — 展開出力ハンドラ
http_parse_cookie — HTTP クッキーをパースする
http_parse_headers — HTTP ヘッダをパースする
http_parse_message — HTTP メッセージをパースする
http_parse_params — パラメータリストをパースする
http_get — GET リクエストを実行する
http_head — HEAD リクエストを実行する
http_post_data — エンコードされたデータを使用して POST リクエストを実行する
http_post_fields — エンコードされる前のデータを使用して POST リクエストを実行する
http_put_data — データを使用して PUT リクエストを実行する
http_put_file — ファイルを使用して PUT リクエストを実行する
http_put_stream — ストリームを使用して PUT リクエストを実行する
http_request_method_exists — リクエストメソッドが存在するかどうかを調べる
http_request_method_name — リクエストメソッド名を取得する
http_request_method_register — リクエストメソッドを登録する
http_request_method_unregister — リクエストメソッドの登録を解除する
http_request — 独自のリクエストを実行する
http_request_body_encode — リクエスト本文をエンコードする
http_redirect — HTTP リダイレクトを発行する
http_send_content_disposition — Content-Disposition を送信する
http_send_content_type — Content-Type を送信する
http_send_data — 任意のデータを送信する
http_send_file — ファイルを送信する
http_send_last_modified — Last-Modified を送信する
http_send_status — ステータスを送信する
http_send_stream — ストリームを送信する
http_throttle — HTTP 抑止処理
http_build_str — クエリ文字列を組み立てる
http_build_url — URL を組み立てる


ウィキペディア

ウィキペディアウィキペディア

Hypertext Transfer Protocol

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2009/12/18 17:28 UTC 版)

(HTTP から転送)

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

目次

概要

HTTP は HTML (HyperText Markup Language) や XML (Extensible Markup Language) によって記述されたハイパーテキストを転送することを主な目的としているが、転送する内容はハイパーテキストに限らず画像、音声などのバイナリデータも含め様々なデータを送ることができる。

HTTP はリクエスト-レスポンス型のプロトコルである。すなわち、クライアントがサーバにリクエストメッセージを送信し、サーバがこれにレスポンスメッセージを返す。レスポンスメッセージを返した時点で基本的にサーバは初期状態に戻る。つまり、サーバがクライアントの状態を保存しない。HTTP においてはトランスポート・プロトコルとして通常TCPを使用する。

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でNNTPSMTPのような各種ヘッダが定義され、HTTP cookieなどの利用が可能になった。 HTTP/1.1では複数データを転送するためのキープアライブ(keep-alive)機能やプロキシなどの利用も想定された仕様になった。

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

  • ポート番号80をデフォルトとして使用する。
  • SSL(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が規定された。

下にもっとも単純な、クライアントとサーバ(www.google.co.jp:80)とのHTTPプロトコルのやり取りの例を挙げる。

クライアントのリクエスト:

GET / HTTP/1.0

サーバのレスポンス:

HTTP/1.0 200 OK
Cache-Control: private
Content-Type: text/html
Set-Cookie: PREF=ID=72c1ca72230dea65:LD=ja:TM=1113132863:LM=1113132863:S=nNO7MIp
W2o7Cqeu_; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.co.jp
Server: GWS/2.1
Date: Sun, 10 Apr 2005 11:34:23 GMT
Connection: Close

<html><head><meta http-equiv="content-type" content="text/html; charset=Shift_JI
S"><title>Google</title><style><!--
・・・以下省略

上のリクエストのGETにあたる部分をメソッドといい、 HTTP/1.0では、GET, HEAD, PUT, POST, DELETE, LINK, UNLINK、 HTTP/1.1ではさらに、OPTIONS, TRACEがある。 GETメソッドのレスポンスにはヘッダ情報のあとに改行が挟まれ、コンテンツ本体が送られる。 HEADメソッドのレスポンスにはコンテンツサイズや更新日時などの情報を含むヘッダのみが送られる。

また、リクエストの2行目以降はヘッダーを送る。

ヘッダの各要素は

フィールド名: 内容

のペアで構成される。

ブラウザの情報を表すUser-Agent、使用候補言語を表すAccept-Language、他ページへのリンクを辿った場合にそのリンク元ページのURLを表すRefererなどが代表的なフィールドである。

なお、リクエスト時のHostヘッダーはHTTP/1.1では必須であるが、HTTP/1.0では無くても良い。 但し、サーバがバーチャルホストを利用している場合は、Hostヘッダが無いとリソース取得に失敗するので、たとえHTTP/1.0を使用していてもHostヘッダを付加しなければならない。

関連項目

外部リンク





関連した本

このページへのリンク
「HTTP」に関連した用語
HTTPのお隣キーワード
Weblioモバイル
QRコード
URL:【http://m.weblio.jp/
ケータイでバーコードを読み取るか、URLを直接入力してアクセスして下さい。
» モバイルで「HTTP」を見る

_ _   


このページの著作権について
Weblio 辞書情報提供元は参加元一覧にて確認できます。

  
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2010 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリHTTPの記事を利用しております。
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2010 by the PHP Documentation Group.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのHypertext Transfer Protocol (改訂履歴)の記事を複製、再配布したのにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2010 Weblio RSS