エッチ‐ティー‐ティー‐ピー【HTTP】
読み方:えっちてぃーてぃーぴー
《hypertext transfer protocol》インターネット上でのデータ転送のためのプロトコル。WWWサーバーとブラウザーがHTMLファイルや画像、音声などのデータの送受信に用いられる。ハイパーテキスト転送プロトコル。
ハイパーテキスト‐てんそうプロトコル【ハイパーテキスト転送プロトコル】
読み方:はいぱーてきすとてんそうぷろとこる
《hypertext transfer protocol》⇒エッチ‐ティー‐ティー‐ピー(HTTP)
HTTP
HTTP
HTTP
読み方:エイチティーティーピー
別名:ハイパーテキスト転送プロトコル
HTTPとは、ブラウザを使ってウェブ上の情報にアクセスするための方式(通信プロトコル)の名称である。あるいは、「通信プロトコルにはHTTPを使いますよ」と宣言する意味でURLの先頭に掲げられる文字列である。
HTTPは、通信プロトコルの一種である。「プロトコル」とは、日本語では「規約」「典礼」「実施要項」などと訳されるが、つまるところは「正確な意思疎通を図るために構築された約束事」である。たとえば外交の分野では、国旗の掲げ方や、典礼における服装やもてなし方などが、国際的に標準化され共有されている。これによって異国・異文化の賓客にもあらぬ誤解を抱かれずに正しくもてなすことができている。こうした約束事・取り決めが「プロトコル」である。そして、ITの分野においては「サーバー」と「クライアント」が(インターネットを通じて)データを扱う際の通信方式が「プロトコル」と呼ばれる。その中でもWebサーバーとWebブラウザの間のやり取りに用いられるプロトコルが「HTTP」であるというわけである。
ブラウザを使ったアクセスではHTTP(またはHTTPS)が標準的なプロトコルであるが、ブラウザを用いない「ファイル転送」においては「FTP」と呼ばれるプロトコルが多く用いられる。電子メールの送受信に用いられるプロトコルはSMTP、POP、IMAPと複数ある。
HTTPは、ファイル伝送に利用されるFTPや、電子メールのやりとりに用いられるSMTPなどと並び、インターネット上で最も頻繁に利用されるプロトコルの一種となっている。
HTTPは、WWW(World Wide Web)上でサーバー(Webサーバー)とクライアント(Webブラウザ)が、HTML文書などのデータの交換・やり取りを行うための方式として規定されている通信プロトコルである。
HTTPは、TCP上でパケット単位で情報のやりとりを行う。HTTPの大きな特徴として、基本的にステートレスな通信であり、一つの要求(リクエスト)に対して一つの応答(レスポンス)で完結するというシンプルな通信である、という点が挙げられる。リクエストを受けたWebサーバーは、HTMLで記述された文書ファイルやHTMLによって関連付けられたマルチメディアデータなどをクライアントに転送する。Webブラウザは、受信したデータを解析し、レンダリングを行って、整理されたHTML文書として画面に表示する。
HTTPにおけるデータは、制御情報を持つHTTPヘッダ部と、コンテンツデータを含むHTTPボディ部からなる単純な構造をしている。転送可能な情報の種類には、特に制限がない。
なお、「HTTPS」は、HTTPにSSL(Secure Sockets Layer)の暗号化を施し、セキュリティ性を向上させたプロトコルである。つまりHTTPSはHTTPのセキュリティ強化版としての発展型である。HTTPとHTTPSとの違いは「セキュア性」に尽きる。ちなみに、HTTPのポート番号はデフォルトでは80番であり、HTTPSのポート番号はデフォルトで443番となっている。
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行で指定される。
WebページにアクセスするにはURL(いわゆるアドレス)が必要であり、URLの先頭には一律「http(s)」をつける必要がある。WebブラウザによってはURL表示欄(アドレスバー)上に特に「http(s)」が表示されない場合も多いが、これは単に表示が省略されているだけである。
Hypertext Transfer Protocol
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/30 04:37 UTC 版)
Hypertext Transfer Protocol(ハイパーテキスト・トランスファー・プロトコル、HTTP)はアプリ間コネクション上のリクエスト/レスポンス型・ステートレス・メッセージ指向通信プロトコルである[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.
- ^ The HTTP Protocol As Implemented In W3
- ^ Sebastian Anthony (2012年3月28日). “S&M vs. SPDY: Microsoft and Google battle over the future of HTTP 2.0”. ExtremeTech. 2014年9月23日閲覧。
- ^ Jerome Louvel (2011年10月6日). “Can the rise of SPDY threaten HTTP?”. Restlet. 2014年9月23日閲覧。
- ^ “Gigazine『UDPベースの「HTTP-over-QUIC」が新HTTPバージョン「HTTP/3」に名称変更される』”. GIGAZINE (2018年11月14日). 2018年11月14日閲覧。
- ^ IETF Meetingの資料スライド
- ^ “QUICの話 (QUICプロトコルの簡単なまとめ)”. ASnoKaze blog (2018年10月31日). 2019年5月12日閲覧。 “後述のストリームの管理がQUICレイヤに移り、それにあわせフレームの変更やQUICストリームの利用方法の定義”
- ^ “QUICの話 (QUICプロトコルの簡単なまとめ)”. ASnoKaze blog (2018年10月31日). 2019年5月12日閲覧。 “ヘッドオブラインブロッキング避けるために、HPACKをQUIC用に改良したQPACKを用いる”
- ^ “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.”
- ^ “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.”
- ^ Hypertext Transfer Protocol (HTTP) Method Registry
- ^ RFC 9110, 6. Message Abstraction
- ^ HTTP Content Coding Registry
- ^ “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.”
- ^ “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.”
- ^ 『HTTPプロトコル―セキュア&スケーラブルなWeb開発』 Stephen Thomas 著、葛西 重夫 訳、ソフトバンクパブリッシング[要ページ番号]
- ^ “JPNIC News & Views vol.1647【臨時号】第103回IETF報告 [第4弾] トランスポートエリア関連報告 ~HTTP over QUICからHTTP/3への改称~”. 日本ネットワークインフォメーションセンター (2018年12月13日). 2021年6月28日閲覧。
- 1 Hypertext Transfer Protocolとは
- 2 Hypertext Transfer Protocolの概要
- 3 概要
- 4 歴史
- 5 動作
- 6 HTTPメッセージ
- 7 HTTPヘッダフィールド
- 8 HTTPステータスコード
- 9 関連項目
- 10 参照
「Hyper Text Transfer Protocol」の例文・使い方・用例・文例
- Hypertext_Transfer_Protocolのページへのリンク