🍽️

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