目的

この記事では「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

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

Latest Comments

表示できるコメントはありません。