httpとは? わかりやすく解説

エッチ‐ティー‐ティー‐ピー【HTTP】


HTTP

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

HTTPとは、ブラウザ使ってウェブ上の情報アクセスするための方式通信プロトコル)の名称である。あるいは、「通信プロトコルにはHTTPを使いますよ」と宣言する意味でURL先頭掲げられる文字列である。

HTTPは、通信プロトコル一種である。「プロトコル」とは、日本語では「規約」「典礼」「実施要項」などと訳されるが、つまるところは「正確な意思疎通を図るために構築され約束事」である。たとえば外交分野では、国旗掲げ方や、典礼における服装もてなし方などが、国際的に標準化され共有されている。これによって異国異文化賓客にもあらぬ誤解抱かれずに正しくもてなすことができている。こうした約束事取り決めが「プロトコル」である。そして、ITの分野においてはサーバー」と「クライアント」が(インターネット通じてデータを扱う際の通信方式が「プロトコル」と呼ばれるその中でWebサーバーWebブラウザの間のやり取り用いられるプロトコルが「HTTP」であるというわけである。

ブラウザ使ったアクセスではHTTP(またはHTTPS)が標準的なプロトコルであるが、ブラウザ用いないファイル転送においてはFTP」と呼ばれるプロトコル多く用いられる電子メール送受信用いられるプロトコルSMTPPOPIMAP複数ある。

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

HTTPは、WWWWorld Wide Web上でサーバーWebサーバー)とクライアントWebブラウザ)が、HTML文書などのデータ交換やり取りを行うための方式として規定されている通信プロトコルである。

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

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

なお、「HTTPS」は、HTTPにSSLSecure Sockets Layer)の暗号化施しセキュリティ性を向上させたプロトコルである。つまりHTTPSはHTTPのセキュリティ強化としての発展型である。HTTPとHTTPSとの違いは「セキュア性」に尽きる。ちなみに、HTTPのポート番号デフォルトでは80番であり、HTTPSポート番号デフォルト443となっている。

HTTP1.1において、HTTP要求指定されるHTTPメソッドには、GETPOSTPUTHEADDELETECONNECTOPTIONSTRACEなどがある。それぞれの意味は、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行で指定される

WebページアクセスするにはURLいわゆるアドレス)が必要であり、URL先頭には一律「http(s)」をつける必要があるWebブラウザによってはURL表示アドレスバー)上に特に「http(s)」が表示されない場合も多いが、これは単に表示省略されているだけである。

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

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

(http から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/30 04:37 UTC 版)

Hypertext Transfer Protocolハイパーテキスト・トランスファー・プロトコル、HTTP)はアプリ間コネクション上のリクエスト/レスポンス型・ステートレス・メッセージ指向通信プロトコルである[1]


  1. ^ a b "The Hypertext Transfer Protocol (HTTP) is a family of stateless, application-level, request/response protocols ... HTTP is a stateless request/response protocol for exchanging 'messages' across a connection." RFC 9110.
  2. ^ The HTTP Protocol As Implemented In W3
  3. ^ Sebastian Anthony (2012年3月28日). “S&M vs. SPDY: Microsoft and Google battle over the future of HTTP 2.0”. ExtremeTech. 2014年9月23日閲覧。
  4. ^ Jerome Louvel (2011年10月6日). “Can the rise of SPDY threaten HTTP?”. Restlet. 2014年9月23日閲覧。
  5. ^ Gigazine『UDPベースの「HTTP-over-QUIC」が新HTTPバージョン「HTTP/3」に名称変更される』”. GIGAZINE (2018年11月14日). 2018年11月14日閲覧。
  6. ^ IETF Meetingの資料スライド
  7. ^ QUICの話 (QUICプロトコルの簡単なまとめ)”. ASnoKaze blog (2018年10月31日). 2019年5月12日閲覧。 “後述のストリームの管理がQUICレイヤに移り、それにあわせフレームの変更やQUICストリームの利用方法の定義”
  8. ^ QUICの話 (QUICプロトコルの簡単なまとめ)”. ASnoKaze blog (2018年10月31日). 2019年5月12日閲覧。 “ヘッドオブラインブロッキング避けるために、HPACKをQUIC用に改良したQPACKを用いる”
  9. ^ RFC [https://datatracker.ietf.org/doc/html/rfc2817 2817 Upgrading to TLS Within HTTP/1.1]” (2000年5月). 2019年4月26日閲覧。 “The CONNECT method was originally described in a Work in Progress titled, "Tunneling TCP based protocols through Web proxy servers", by Ari Luotonen of Netscape Communications Corporation.”
  10. ^ RFC [https://datatracker.ietf.org/doc/html/rfc7230 7230 Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing]” (2014年6月). 2019年4月26日閲覧。 “This specification also updates the use of CONNECT to establish a tunnel, previously defined in RFC 2817, and defines the "https" URI scheme that was described informally in RFC 2818.”
  11. ^ Hypertext Transfer Protocol (HTTP) Method Registry
  12. ^ RFC 9110, 6. Message Abstraction
  13. ^ HTTP Content Coding Registry
  14. ^ RFC [https://datatracker.ietf.org/doc/html/rfc1864 1864 The Content-MD5 Header Field]” (英語). Internet Engineering Task Force (1995年10月). 2021年1月30日閲覧。 “This document specifies a data integrity service that protects data from accidental modification while in transit from the sender to the recipient.”
  15. ^ RFC [https://datatracker.ietf.org/doc/html/rfc7231 7231 Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content]” (英語). Internet Engineering Task Force (2014年6月). 2021年1月30日閲覧。 “The Content-MD5 header field has been removed because it was inconsistently implemented with respect to partial responses.”
  16. ^ 『HTTPプロトコル―セキュア&スケーラブルなWeb開発』 Stephen Thomas 著、葛西 重夫 訳、ソフトバンクパブリッシング[要ページ番号]
  17. ^ JPNIC News & Views vol.1647【臨時号】第103回IETF報告 [第4弾] トランスポートエリア関連報告 ~HTTP over QUICからHTTP/3への改称~”. 日本ネットワークインフォメーションセンター (2018年12月13日). 2021年6月28日閲覧。



「http」の例文・使い方・用例・文例

Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

「http」に関係したコラム

辞書ショートカット

すべての辞書の索引

「http」の関連用語

httpのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



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

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
JERICHO CONSULTINGJERICHO CONSULTING
Copyright (C) 2024by Jericho Consulting Co.,Ltd. All Rights Reserved.
アライドテレシス株式会社アライドテレシス株式会社
Copyright(c)2024 Allied Telesis K.K. All Rights Reserved.
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2024 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリHTTPの記事を利用しております。
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 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の元に提供されております。
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2024 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2024 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2024 GRAS Group, Inc.RSS