目的
この記事では「HTTP通信」について解説します。
本章を読む前に以下の記事を読んでおいてください。この記事の理解がスムーズになります。
→「https://lovelabengineer.com/2026/09/23/webページやアプリケーションに欠かせないurlの仕組/」
「https://lovelabengineer.com/2026/09/23/api-httpsって何?-web通信の仕組み・全体像/」
HTTPとは?
HTTPとは、ブラウザなどの「クライアント」と「WEBサーバ」間で、文字や画像などのデータをやりとりするためのプロトコルです。
インターネット上でWEBサーバからWEBページを取得して、それを表示できます。
HTTP通信の仕組み

HTTP通信は大きく分けると上記の図のようになります。クライアントが「リクエスト」を送り、サーバが「レスポンス」を返します。
▪️リクエストとレスポンスについて
リクエストでは「メソッド・URL・ヘッダー・ボディー」を送信し、レスポンスでは「Status・ヘッダー・ボディー」を返します。
処理の流れとしては、
① 利用者がリンクをクリック、URLを指定するなどの操作を行う(リクエスト)。
② リクエストに認証(トークンなど)・データの形式情報(ヘッダー)を付与する。
③ サーバでクライアントの検証・処理を行う。
④ 結果を返します(レスポンス)。
▪️メソッドについて
メソッドでは、サーバに対して何をしたいのか(操作)を指定します。
メソッドには主に以下があります。
・GET・・・データを取得する
・POST・・・データを作成/送信する
・PUT・・・データ全体を更新する
・PATCH・・・データの一部を更新する
・DELETE・・・データを削除する
(例)
・「GET /users/123」
→ ID = 123のユーザ情報を取得したい
・「POST /users」
→ 新しいユーザを作成したい
・「PATCH /users/123」
→ ID = 123のユーザ情報の一部(メールアドレスなど)を変更したい
・「DELETE /users/123」
→ ID = 123のユーザを削除したい
URLで「場所」を指定して、そのURLに何を行うかを「メソッド」で指定します。
▪️HTTPヘッダーについて
HTTPヘッダーではデータ形式・認証・キャッシュ・追跡など様々な情報を読み取れます(メタデータ)。

<代表的なヘッダー情報>
・HOST・・・接続先のホスト
・Content-Type・・・ボディーのデータ形式
・Authorization・・・認証情報
・Accept・・・受け取りたいデータ形式
・Cookie・・・Cookie情報
・Cache-Control・・・キャッシュ保存時の条件
<例>
POST /users HTTP/1.1
Host: www.lovelab.com
Authorization: Bearer abc123
Content-Type: application/json
Accept: application/json
→「 www.lovelab.comの/usersにJSON形式のデータを送る。認証情報はこれ。レスポンスもJSON形式でお願い」
つまり、ヘッダーとは「通信やデータをどう扱うか」の補足情報です。
▪️ボディーについて
ボディー(HTTPボディー)とは実際に送受信するデータ本体です。
例えば、ユーザ登録時に以下のリクエストを送信したとします。
POST /users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "Taro",
"age": 26
}
{"name": "Taro", "age": 26}がボディーです。
また、リクエストだけでなくレスポンスにもボディーがあります。
上記の例で言うと、サーバが以下のようなレスポンスを返します。
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": 123,
"name": "Taro"
}
ステータス
→ 200 OK
ヘッダー
→ Content-Type: application/json
Body
→ {"id":123,"name":"Taro"}
*ユーザを新規で登録したので、サーバ側でユーザにidを付与しています
ただし、メソッドが「GET」の場合ではデータの取得のみを行うため、リクエスト送信時にボディーは不要です。
まとめ
今回はHTTP通信について解説しました。WEBページを表示するだけでも裏でこれだけのロジックが組まれています。特にインフラエンジニアにとってWEBやアプリケーションをどのように実装しているか、理解するのは大変ですが、一つ一つ仕組みを理解しておくとWEBシステム全体の挙動が鮮明になってきます。

No responses yet