418「私はティーポットです」は本当に HTTP 応答コードですか? 質問する

418「私はティーポットです」は本当に HTTP 応答コードですか? 質問する

418「私はティーポットです」は本当にHTTP 応答コードですか?

これについては、応答コードのリストなど、インターネット上でさまざまな言及がありますが、奇妙なジョークであるかどうかはわかりません。

ベストアンサー1

私はこのコードを使用します。私は nginx リバース プロキシを使用して、2 つの別々の HTTP サーバーにリクエストを送信しています。1 つは認証されていないユーザーのリクエストを処理し、もう 1 つは認証されたユーザーのリクエストを処理します。この特定のケースで問題となるのは、最初のサーバーがユーザーが認証されているかどうかを判断するサーバーであることです。その理由は聞かないでください。

したがって、最初のサーバーはユーザーが認証されていると判断すると応答します418 I'm a teapot。その後、NGINX はトラフィックを内部的に 2 番目のサーバーに再ルーティングします。ブラウザに関しては、これは単一のリクエストでした。

これは、HTCPCP コード 418なぜなら、ティーポットでコーヒーを淹れようとする場合、適切な応答は「私はその要求に対応できるようなものではありませんが、他にも対応できるものがあるかもしれません」となるからです。言い換えれば、「私はティーポットです。コーヒーメーカーを見つけてください」(2 番目のサーバーはコーヒーメーカーです)。

結局のところ、418はRFC7231 の翻訳、それはまだの傘に覆われています4xx (Client Error)

6. レスポンスステータスコード

  • 4xx (クライアント エラー): リクエストに不正な構文が含まれているか、リクエストを処理できません

6.5. クライアントエラー 4xx

  • 4xx (クライアント エラー) クラスのステータス コードは、クライアントがエラーを起こした可能性があることを示します。HEAD 要求に応答する場合を除き、サーバーはエラー状況の説明と、それが一時的か永続的かを示す表現を送信する必要があります。これらのステータス コードは、どの要求メソッドにも適用できます。ユーザー エージェントは、含まれている表現をユーザーに表示する必要があります。

おすすめ記事