HTTP 418 I'm a Teapot(私はティーポットです)

HTTP 418の物語――ウェブで最も愛されているエイプリルフールのHTCPCPステータスコードと、Googleが418に遭遇したときに実際に起きること、そして実ページに対してWAFが418を返すことが問題になる理由を解説します。

初回公開:2026年7月4日 · 最終更新:2026年8月29日 · 上級者向け
このページには証拠シグナルが1件あります

HTTP 418 I'm a teapotは、1998年のエイプリルフールRFCであるHTCPCPのRFC 2324に由来するジョークのステータスコードです。ティーポットにコーヒーを淹れさせようとしても、ティーポットなので拒否しなければなりません。通常のHTTPアプリケーションの意味論を持つことはありませんが、「未割り当て」ではありません。RFC 9110はこのコードを正式に予約しており、IANAのレジストリでは通常の再利用ができない (Unused) と記載されています。2017年にこのコードを取り戻そうとした試みは、「save 418」キャンペーンに敗れました。Googleの2023年時点のガイダンスでは、418はSearchにおいて429以外の4xxと同様に扱われます。現在の一般的なクローラー・ステータスページでは、このような特殊なコードは対象外です。実務上重要なのは、WAFやボット対策レイヤーがリクエストをブロックするために418を使う場合があり、誤ってGooglebotにも返す可能性がある点です。ほかの4xxと同じように監査してください。このサイトの /coffee URLは、RFCに従って本物の418を返します。

TL;DR — 予期しない 418 は、通常とは異なるレイヤーが返した 429 以外の一般的な 4xx として扱います。生の応答を保存し、アプリケーション、WAF、CDN、オリジンのどこが返したかを特定し、重要な URL が本来の状態に戻るまで同じクローラーパスを確認します。

変更前に信号を解釈する

ステータスコードは応答を分類するだけで、それを選んだシステムは示しません。引用された Google の説明では、418 は 429 以外の一般的な 4xx と同様に扱われます。コンテンツはインデックス登録に使われず、登録済み URL も時間とともに削除される可能性があり、ティーポット専用の復旧手順はありません。

1 つの URL から始め、時刻、パス、ステータス、ヘッダー、本文を保存します。user-agent、IP、認証、レート、地域で結果が変わるか確認します。

応答を生成したレイヤーを特定する

公開応答から内側へ順に調べます。

  1. 生のリクエストで再現し、ヘッダーと本文を記録します。
  2. パスと時刻を CDN、WAF、オリジン、フレームワーク、アプリケーションのログで照合します。
  3. ブラウザーとクローラーを比較します。エラーページの文面だけでは発生元を証明できません。
  4. 発生元と確認できたルールまたはコードだけを変更します。名前付き定数があっても、既定で 418 を返す証拠にはなりません。

復旧を検証する

失敗した経路で同じ URL を再テストします。実際に必要な状態、通常は公開中でインデックス可能なページなら 200 になるべきです。同じルールの対象となる近接 URL も確認します。

インデックス可能な URL の新しい 418 を監視します。/coffee は意図した 418 の対照として残し、本番ページにその動作を継承させません。

実際に試す

これはシミュレーションではなく、このサイト上の実際のエンドポイントです。ボタンからアクセスするか、新しいタブで開くか、 curl -i をターミナルで実行すると、サーバーがこの記事で扱う実際のステータスコードを返します。

新しいタブで開く ↗

専門家メモを追加

専門家の引用を固定

新しい人物ですか?まず、 /admin/experts/ → 専門家の引用を固定 から未登録プロフィールを作成してください。