HTTPとは?リクエスト・レスポンスとステータスコードを簡単解説

まずは、これだけ

HTTPは、ブラウザとサーバーがWeb上でやり取りするための共通ルール。
「お願い」の送り方と「返事」の返し方を決めています。

ブラウザからサーバーへリクエストを送り、サーバーからレスポンスを受け取るHTTP通信の様子
リクエスト:情報をください レスポンス:結果を返します

HTTPはWeb通信の「共通ルール」

HTTPは「Hypertext Transfer Protocol」の略で、ブラウザなどのクライアントとサーバーが通信するときの決まりごとです。

送り先、お願いしたい操作、必要な追加情報、返すデータの形式などを共通ルールに沿って伝えることで、異なるブラウザやサーバーでも会話できます。

送り先

どのWebページやデータに用があるのかを示す。

お願いの種類

取得・送信など、何をしたいのかを伝える。

返事の形式

結果と一緒に、状態やデータの種類を返す。

通信はリクエストとレスポンスの往復

ブラウザからサーバーへ送るお願いをリクエスト、サーバーから返ってくる返事をレスポンスと呼びます。Webページの表示、検索、ログイン、フォーム送信なども、この往復で進みます。

1 操作する リンクやボタンを押す
2 お願いを送る リクエストを送信する
3 処理する サーバーが内容を確認する
4 返事を送る レスポンスを返す
5 結果を表示 ブラウザが画面へ反映する

1ページを表示するだけでも、HTML・CSS・JavaScript・画像などを取得するために、複数回のHTTP通信が行われます。

ステータスコードで結果が分かる

レスポンスには、処理結果を3桁の数字で伝えるHTTPステータスコードが含まれます。最初の1桁を見ると、成功したのか、別の場所へ移動したのか、問題が起きたのかを大まかに判断できます。

サーバーが成功、転送、クライアント側の問題、サーバー側の問題という異なる結果を返す様子
ステータスコードは、サーバーから返ってきた結果を短く要約する番号です。
100番台:処理中

リクエストを受け取り、処理を続けている。

200番台:成功

200 OKなど。お願いした処理が成功した。

300番台:転送

301302など。別の場所を案内する。

400番台:依頼側の問題

404 Not Foundなど。ページがない、権限がないといった状態。

500番台:サーバー側の問題

500503など。サーバー内の処理や稼働状況に問題がある。

エラー画面が表示されたときは、400番台ならURLや入力内容など利用者側、500番台ならサーバー側に原因がある可能性が高い、と切り分ける手がかりになります。

HTTPSとHTTP/3は何が違う?

HTTPSは、HTTPの通信内容をTLSという仕組みで暗号化し、通信相手の確認や改ざん検知も行えるようにしたものです。URLが https:// で始まるサイトで使われます。

HTTP/3はHTTPの新しい世代のひとつで、QUICという通信方式を利用します。通信の待ち時間を減らしやすく、接続が不安定な環境でも効率よくデータを届けることを目指しています。

ブラウザとサーバーの通信が盾と鍵で保護され、複数のデータが効率よく行き来する様子
HTTPSは通信を保護し、HTTP/3はより効率のよい通信を目指す仕組みです。
HTTP

ブラウザとサーバーがやり取りするための基本ルール。

HTTPS

HTTPの通信を暗号化し、安全性を高める。

HTTP/3

QUICを使い、効率や接続の安定性を高める新しい世代。

ここまでのまとめ

HTTPを理解すると、Webページが表示されないときやAPI通信を確認するときに、ブラウザとサーバーの間で何が起きているかを整理しやすくなります。

HTTPは「お願いと返事の共通ルール」、ステータスコードは「返事の結果を示す番号」と覚えると、Web通信の全体像をつかみやすくなります。