PUBLIC
WEBエイチティーティーピー6 MIN READ

TERM 015

HTTP

Webで要求と応答を交わす共通言語

HTTPは、クライアントがリソースや操作を要求し、サーバーが状態・ヘッダー・内容を返すためのアプリケーション層プロトコルです。WebページだけでなくAPI通信にも使われます。

01REQUEST要求を表す
02HANDLEサーバーが処理
03RESPONSE結果を返す
OVERVIEW

Web上でリクエストとレスポンスを交換するための規約の全体像。

CONTENTSこの記事の目次

QUICK OVERVIEW

30秒でつかむ

01METHOD

操作の意図

GET、POST、PUT、DELETEなどで要求の性質を表します。

02STATUS

処理結果

2xx、4xx、5xxなどのコードで結果の分類を伝えます。

03HEADER

通信の付加情報

形式、キャッシュ、認証、Cookieなどの制御情報を運びます。

01 — DEFINITION

HTTPとは
何か

HTTPは、クライアントがリソースや操作を要求し、サーバーが状態・ヘッダー・内容を返すためのアプリケーション層プロトコルです。WebページだけでなくAPI通信にも使われます。

02 — HOW IT WORKS

仕組みを
3段階で見る

細部へ入る前に、入力から結果までの役割を順番に捉えます。

INPUTPROCESSOUTPUT
01REQUEST

要求を表す

Method、URL、Header、必要ならBodyを送る。

02HANDLE

サーバーが処理

ルーティング、認証、データ処理を行う。

03RESPONSE

結果を返す

Status、Header、Bodyで処理結果を伝える。

PROCESS

HTTPを理解するときの、最小の処理単位です。

03 — ESSENTIALS

押さえるべき
3つの要点

名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。

01METHOD

操作の意図

GET、POST、PUT、DELETEなどで要求の性質を表します。

02STATUS

処理結果

2xx、4xx、5xxなどのコードで結果の分類を伝えます。

03HEADER

通信の付加情報

形式、キャッシュ、認証、Cookieなどの制御情報を運びます。

04 — REAL WORLD EXAMPLE

商品情報を取得する

ブラウザが商品ID 42の情報をWeb APIへ要求します。

SCENARIO / HTTPSTEP BY STEP
  1. 01

    GET /products/42を送る

  2. 02

    サーバーが商品を検索し権限を確認する

  3. 03

    200とJSON、または404を返す

RESULT要求と結果を標準化し、異なる実装のクライアントとサーバーが連携できます。

05 — WATCH OUT

理解するときの
注意点

便利な仕組みほど、守備範囲と失敗の前提を明確にします。

01

状態コードだけで終わらせない

利用側が対処できる一貫したエラー情報も返します。

02

冪等性を意識する

再送されても同じ操作が重複しないか、Methodと処理ごとに設計します。

IN ONE SENTENCE

HTTPとは?

Web上でリクエストとレスポンスを交換するための規約

KEEP EXPLORING

SECURITYHTTPS掲載中WEBREST API掲載中WEBCookie掲載中