HTTP

読み:えいちてぃーてぃーぴー / 英語表記:Hypertext Transfer Protocol

WebブラウザとWebサーバの間で、Webページなどのデータをやり取りするためのアプリケーション層プロトコル。クライアントが要求を送り、サーバが応答を返す形で通信する。

イマシルちゃんの解説

ブラウザでURLを入れてページを開くと、裏ではブラウザがサーバに「このページをください」ってお願いしてるんだ。
サーバは「はい、どうぞ」ってページを返してくれる。
このお願いと返事の決まりごとがHTTPなんだよ!

より深い解説

定義

HTTP(Hypertext Transfer Protocol)は、Webで使われるアプリケーション層のプロトコルである。クライアント(ブラウザなど)がリクエストを送り、サーバがレスポンスを返す。標準のポート番号はHTTPが80、TLSで暗号化したHTTPSが443である。

ステートレス

HTTPはステートレスなプロトコルで、サーバは1つ1つのリクエストを独立したものとして扱い、前のリクエストの内容を覚えていない。ログイン状態のように、複数のリクエストにまたがる情報を保つには、CookieにセッションIDを入れて毎回送るなどの仕組みを使う。

バージョンごとの違い

バージョン主な特徴
HTTP/1.01回のリクエストごとにTCP接続を張り直す
HTTP/1.1接続を使い回す持続的接続(キープアライブ)が標準。Hostヘッダが必須になり、1つのIPアドレスで複数のサイトを運用できる
HTTP/2テキストではなくバイナリで送る。1つの接続で複数のリクエストを同時に流す多重化、ヘッダの圧縮
HTTP/3TCPではなく、UDPの上で動くQUICを使う。パケット損失の影響を受けにくく、接続も速い

メソッド

リクエストの目的は、メソッドで示す。

メソッド目的
GETリソースを取得する
POSTデータを送信して処理させる
HEADGETと同じだが、ヘッダだけを返させる
PUTリソースを作成・置き換える
DELETEリソースを削除する
OPTIONS使えるメソッドなどを問い合わせる
CONNECTプロキシにトンネルを作らせる。プロキシ経由でHTTPS通信をするときに使う

ステータスコード

レスポンスの結果は、3桁のステータスコードで示す。先頭の数字で大まかな意味がわかる。

分類意味代表例
1xx情報100 Continue
2xx成功200 OK
3xxリダイレクト301 Moved Permanently、302 Found、304 Not Modified
4xxクライアント側のエラー401 Unauthorized、403 Forbidden、404 Not Found
5xxサーバ側のエラー500 Internal Server Error、503 Service Unavailable

301(恒久的な移転)と302(一時的な移転)の違いは、検索エンジンの扱いにも影響するので、午後問題でも問われやすい。

実際の試験ではここに出る!

この用語が出てくる記事

↑