音声スライド (クリックで展開/閉じる)
はじめに
- HTTP で送られる情報の構造を学ぶ
- リクエストとレスポンスを区別する
- GET と POST を操作に応じて選ぶ
この単元では、HTTP のリクエストとレスポンスに何が含まれるかを学びます。さらに、TODO の一覧表示と登録を比べ、GET と POST のどちらを使うべきか判断できるようになることを目指します。
HTTP の 1 往復

ブラウザはサーバへリクエストを送り、サーバはレスポンスを返します。リクエストは処理の要求、レスポンスはその処理結果です。HTTP では、1 回のリクエストに 1 回のレスポンスが対応します。
リクエストの 4 要素
- メソッド:サーバに求める操作の種類
- パス:操作の対象を示す場所
- ヘッダ:通信条件などの付加情報
- ボディ:サーバへ渡す内容
リクエストは、メソッド、パス、ヘッダ、ボディで構成されます。メソッドは操作の種類、パスは操作の対象を示します。ヘッダには通信に必要な付加情報が入り、ボディには登録する内容などが入ります。
一覧表示と登録のリクエスト

一覧表示では GET /todos を送ります。情報を取得する操作なので、通常はボディを使いません。登録では POST /todos を送り、登録する内容をボディに入れます。どちらもパスは同じですが、メソッドによって要求する操作が変わります。
レスポンスの 3 要素
- ステータスライン:処理結果を示す先頭行
- ヘッダ:返す内容などの付加情報
- ボディ:ブラウザへ返す内容
レスポンスは、ステータスライン、ヘッダ、ボディで構成されます。ステータスラインは処理結果を示します。ヘッダには返す内容についての付加情報が入り、ボディには画面表示に使う HTML などが入ります。処理結果を表す具体的な番号は、第 3 単元で扱います。
GET と POST の使い分け
| 操作 | メソッド | 判断の基準 |
|---|---|---|
| TODO の一覧表示 | GET | 保存内容を変更しない |
| TODO の詳細表示 | GET | 保存内容を変更しない |
| TODO の登録 | POST | 保存内容を変更する |
| TODO の更新・削除 | POST | 保存内容を変更する |
GET は情報を取得し、保存された内容を変更しない操作に使います。POST は登録、更新、削除のように、保存された内容を変更する操作に使います。迷ったときは、その操作によって保存内容が変わるかどうかを基準にします。フォームの具体的な書き方は、第 3 単元で扱います。
まとめ
- リクエストはサーバへの要求
- レスポンスはブラウザへの処理結果
- 取得には GET、変更には POST を使う
- HTTP 通信は要求と応答の組で進む
リクエストは、メソッド、パス、ヘッダ、ボディから構成されます。レスポンスは、ステータスライン、ヘッダ、ボディから構成されます。TODO の一覧や詳細の表示には GET、登録、更新、削除には POST を使います。