TERM 018
HTTP
Webで要求と応答を交わす共通言語
HTTPは、クライアントがリソースや操作を要求し、サーバーが状態・ヘッダー・内容を返すためのアプリケーション層プロトコルです。WebページだけでなくAPI通信にも使われます。
Web上でリクエストとレスポンスを交換するための規約の全体像。
CONTENTSこの記事の目次+
01 — DEFINITION
HTTPとは
何か
HTTPは、クライアントがリソースや操作を要求し、サーバーが状態・ヘッダー・内容を返すためのアプリケーション層プロトコルです。WebページだけでなくAPI通信にも使われます。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
要求を表す
HTTPメソッド、URL、ヘッダー、必要に応じてボディを送信する。
→サーバーが処理
ルーティング、認証、データ処理を行う。
→結果を返す
ステータスコード、ヘッダー、ボディで処理結果を伝える。
HTTPを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
操作の意図
GET、POST、PUT、DELETEなどで要求の性質を表します。
処理結果
2xx、4xx、5xxなどのコードで結果の分類を伝えます。
通信の付加情報
形式、キャッシュ、認証、Cookieなどの制御情報を運びます。
04 — REAL WORLD EXAMPLE
商品情報を取得する
ブラウザが商品ID 42の情報をWeb APIへ要求します。
- 01
GET /products/42を送る
- 02
サーバーが商品を検索し権限を確認する
- 03
200とJSON、または404を返す
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
ステータスコードだけで終わらせない
クライアント側が原因を特定して対処できるよう、一貫したエラー詳細情報も返します。
冪等性を意識する
通信エラーで再送されても同じ操作が重複して実行されないよう、HTTPメソッドと処理内容ごとに考慮して設計します。
IN ONE SENTENCE
HTTPとは?
Web上でリクエストとレスポンスを交換するための規約。
