HTTP単語

エイチティーティーピー

2.5千文字の記事
  • twitter
  • facebook
  • はてな
  • LINE

HTTP(HyperText Transfer Protocol)とは、ハイパーテキストを送受信するため、WWWサーバーで使われる通信規約である。

WebブラウザWebサーバ間で、HTMLファイルなどの文書や動画などのファイル転送するために用いられている。

概要

HTTPはハイパーテキスト転送プロトコルとも呼ばれる。

HTTPはその名の通り、HTMLXMLなどのハイパーテキストを送受信とすることを的としているが、画像や音動画などのバイナリデータも送受信することが出来る。

HTTPはリクエスト-レスポンスプロトコルである。クライアントサーバーリクエストを送信すると、サーバークライアントレスポンスを返す。詳しくはHTTPステータスコードの一覧を参照のこと。

HTTPはTCP/IPプロトコル群の一つである。その歴史は古く、以下の通り、IETFにて規格化されている。

時期 HTTP/0.9 HTTP/1.0 HTTP/1.1 HTTP/2 HTTP/3
1991年8月 初期定義exit 策定前 策定前 策定前
1996年5月 RFC1945exit
1997年1月 RFC2068exit
1999年7月 RFC2616exit
2014年6月 RFC7230exit
RFC7231exit
RFC7232exit
RFC7233exit
RFC7234exit
RFC7235exit
RFC7540exit
2022年6月 RFC9110exit
RFC9111exit
RFC9112exit
RFC9110exit
RFC9111exit
RFC9113exit
RFC9110exit
RFC9111exit
RFC9114exit

ただし、HTTP/0.9は規格ではない点に注意。い話がHTTP/1.0より昔のHTTPという意味でしかないためである。

HTTPのデフォルトのポート番号は80番で、HTTP/1.0・HTTP/1.1・HTTP/2はTCPを用いている。HTTP/3はUDPで、その上にQUICという仕組みを使ってデータのやりとりを用いている。

HTTPにTLS(SSLの後継)によるデータ暗号化機を付与した物がHTTPS(Hypertext Transfer Protocol Secure)である。

なんで「https://」からHTTPのURLは始まるのか

URLは以下のような構造になっている(必要な部分のみ抜)。

HTTPと対応する「http」「https」は特別スキームであるため、HTTPのURLは「https://」から始まるのである。

具体的なやりとり

具体的には、以下のようなやりとりがなされることになる。今回は、localhost(自分のコンピュータ)に立っているHTTPサーバに対して、/hogehoge.txtを要した場合の流れを説明する。

リクエスト

GET /hogehoge.txt HTTP/1.1
Host: localhost
Connection: close

レスポンス

HTTP/1.1 200 OK
Content-Type: text/plain
Content-Length: 8
Connection: close

Fugafuga

なお、リクエスト行で終わる点に注意せよ。で、この意味は以下の通りである。

基本的にHTTPはステートレスであり、そのままでは会員のログインなどの管理ができない。これらを実現するためにCookieという技術を用いる。あと、大昔はこんな感じで1コネクション1リクエスト1レスポンスのやりとりをやっていたが、今はKeep-Aliveなどにより、1コネクションで複数リクエスト複数レスポンス捌けるようになっている。

関連動画

関連項目

この記事を編集する
関連記事

親記事

子記事

兄弟記事

掲示板

おすすめトレンド

急上昇ワード改

最終更新:2024/03/19(火) 12:00

ほめられた記事

最終更新:2024/03/19(火) 12:00

ウォッチリストに追加しました!

すでにウォッチリストに
入っています。

OK

追加に失敗しました。

OK

追加にはログインが必要です。

           

ほめた!

すでにほめています。

すでにほめています。

ほめるを取消しました。

OK

ほめるに失敗しました。

OK

ほめるの取消しに失敗しました。

OK

ほめるにはログインが必要です。

タグ編集にはログインが必要です。

タグ編集には利用規約の同意が必要です。

TOP