2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Day1 — HTTPとは何か?リクエストとレスポンスの仕組みを図解で理解する

2
Posted at

はじめに

Webアプリを作る上で絶対に避けて通れないのが 「HTTP」 です。
しかし、「なんとなく知ってはいるけど、説明が難しい…」という人も多いはず。

この記事では、
HTTPとは何か?リクエストとレスポンスはどう流れているのか?
を図を使いながら、できるだけわかりやすく解説します。

HTTPとは?

HTTP(HyperText Transfer Protocol)は、
クライアント(ブラウザ)とサーバがデータをやり取りする仕組み(プロトコル) です。

Webの世界はすべて
「お願い(リクエスト)」 → 「返事(レスポンス)」
で動いています。

例:

・ブラウザ「/users にアクセスしたいです!」

・サーバ「OK!データ返します!」

これが HTTP の基本構造です。

HTTPの登場人物

HTTPには大きく2つの役割があります。

主体 役割
クライアント(ブラウザ / アプリ) サーバにリクエストを送る側
サーバ(Webサーバ / APIサーバ) リクエストに応じてレスポンスを返す側

リクエストとレスポンスの流れ(図解)

Webページが表示されるまでの流れをシンプルに絵にすると、こうなります。

chart
[ブラウザ]  -- リクエスト -->  [サーバ]
      <---- レスポンス ------

少し具体的にすると…

chart
【ブラウザ】
   |
   | GET /articles を送信
   v
【サーバ】
   |
   | 200 OK + JSON を返す
   v
【ブラウザ】
  → 画面に表示

すべての Web アプリはこの流れで動いています。

HTTPリクエストの構造

HTTPリクエストは、大きく3つのパートで構成されます。

HTTPリクエスト
1. リクエストライン
2. ヘッダー
3. ボディ(任意)

① リクエストライン

例:

GET /users HTTP/1.1

・GET :何をしたいか(HTTPメソッド)

・/users :どのリソースにアクセスしたいか

・HTTP/1.1 :プロトコルのバージョン

② ヘッダー

追加情報が入ります。

例:

User-Agent: Chrome
Accept: application/json

③ ボディ(POST/PUT時など)

例:

{
  "name": "Taro"
}

HTTPレスポンスの構造

レスポンスは 以下3つ のパートで構成されます。

HTTPレスポンス
1. ステータスライン
2. ヘッダー
3. ボディ

① ステータスライン

HTTP/1.1 200 OK

200 が成功、404 なら Not Found など。

② ヘッダー

例:

Content-Type: application/json

③ ボディ

実際に返すデータです。

例:

{
  "id": 1,
  "name": "Taro"
}

実際のリクエスト/レスポンスを見てみる

ChromeのDevTools(F12 → Networkタブ)を開くと、
ブラウザがどんなリクエストを送っているか確認できます。

たとえば Google にアクセスすると…

・リクエストURL

・メソッド

・ステータス

・レスポンスの内容

などが全部見れるので、まずは自分で触るのがおすすめです。

HTTPを理解すると何が嬉しいのか?

・APIとの通信が理解できる

・バグ調査が圧倒的に楽になる

・フロントとバックエンドの連携が分かりやすくなる

・認証(ログイン機能)が理解しやすくなる

これらの基礎は、今後 Laravel + React でアプリを作るときに確実に活きます。

まとめ

今日の内容をサクッと整理すると:

・HTTPは「データのやり取りをする仕組み」

・クライアント → リクエスト

・サーバ → レスポンス

・構造を知るとアプリ開発が理解しやすくなる

まずはここを押さえれば OK です!

次回(Day2)は、
「HTTPメソッド(GET/POST/PUT/DELETE)」を動かして理解
を実際に手を動かしながら解説します。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?