TERM 015
HTTP
Webで要求と応答を交わす共通言語
HTTPは、クライアントがリソースや操作を要求し、サーバーが状態・ヘッダー・内容を返すためのアプリケーション層プロトコルです。WebページだけでなくAPI通信にも使われます。
Web上でリクエストとレスポンスを交換するための規約の全体像。
CONTENTSこの記事の目次+
QUICK OVERVIEW
30秒でつかむ
操作の意図
GET、POST、PUT、DELETEなどで要求の性質を表します。
処理結果
2xx、4xx、5xxなどのコードで結果の分類を伝えます。
通信の付加情報
形式、キャッシュ、認証、Cookieなどの制御情報を運びます。
01 — DEFINITION
HTTPとは
何か
HTTPは、クライアントがリソースや操作を要求し、サーバーが状態・ヘッダー・内容を返すためのアプリケーション層プロトコルです。WebページだけでなくAPI通信にも使われます。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
要求を表す
Method、URL、Header、必要ならBodyを送る。
→サーバーが処理
ルーティング、認証、データ処理を行う。
→結果を返す
Status、Header、Bodyで処理結果を伝える。
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
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
状態コードだけで終わらせない
利用側が対処できる一貫したエラー情報も返します。
冪等性を意識する
再送されても同じ操作が重複しないか、Methodと処理ごとに設計します。
IN ONE SENTENCE
HTTPとは?
Web上でリクエストとレスポンスを交換するための規約。
