HTTPステータスコードをレストランで理解する
ステータスコードは、説明がバラバラだと覚えにくいものです。そこで今回は すべてをレストランの世界観に統一して 解説する形にまとめ直しました。日常のシーンとしてイメージしやすく、コードの意味がより自然に理解できるはずです。
🥄 レストランでたとえるステータスコード
- あなた=お客さん
- サーバー=レストランの店員やキッチン
- リクエスト=注文
この前提で全体を説明します。
1xx:注文は受け付けたけれど、まだ準備中です
-
100 Continue:
店員さんが「注文内容を確認しましたので、そのまま続けて注文して大丈夫ですよ」と伝えてくれる状態です。 -
101 Switching Protocols:
「カウンター席からテーブル席に変えますか?」と店員さんが席の切り替えに応じてくれる状況です。
2xx:注文が問題なく処理されました
-
200 OK:
注文した料理が問題なく提供される状態です。 -
201 Created:
特別メニューを新規に注文し、キッチンで新しい料理が作られた状態です。 -
204 No Content:
「お水ください」と頼んだときに、店員さんが無言で水だけ置いていくような「結果は成功だけど説明は特にありません」という状態です。
3xx:案内や場所が変更されます
-
301 Moved Permanently:
「そのメニューは提供場所が完全に変わったので、新しいカウンターへお願いします」と言われるイメージです。 -
302 Found:
「今日は臨時でこちらのカウンターで対応しています」と一時的に別の場所へ案内される状態です。 -
304 Not Modified:
「前回と同じ注文ですね。内容は変わらないので改めて説明は不要です」と言われる状態です。
4xx:お客さん側に問題があります
-
400 Bad Request:
注文票の字が読めず「すみません、何をご注文されたいのか分かりません…」となる状態です。 -
401 Unauthorized:
会員限定スペースなのに会員証を持っていないため「ご入場いただけません」と言われる状態です。 -
403 Forbidden:
会員証はあるものの「ここはVIP席なので入れません」と断られる状態です。 -
404 Not Found:
「そのメニューは存在していません」と店員さんに言われる状態です。 -
409 Conflict:
他のお客さんと同時に同じ席を予約しようとして、予約が衝突してしまう状態です。 -
429 Too Many Requests:
一度にドリンクバーを何十杯も注文しようとして「そんなに一気には対応できません」と制限される状態です。
5xx:店側に問題があります
-
500 Internal Server Error:
キッチンの機材が壊れてしまい、注文を処理できず混乱している状態です。 -
502 Bad Gateway:
店員さんが厨房に注文を伝えても、厨房が変な返事を返してくる状態です。 -
503 Service Unavailable:
レストランが「ただいま準備中」で営業できない状態です。 -
504 Gateway Timeout:
店員さんが注文を厨房に伝えたものの、いつまでたっても返事がなく、時間切れとなった状態です。
まとめ
レストランという1つの世界観に統一することで、ステータスコードがより直感的に理解しやすくなります。今まで馴染みのなかったコードも、このイメージで覚えると自然と身につくはずです。
Discussion