ステータスコード418はエイプリルフールのジョークとして定義されており、「実際のHTTPサーバーによって実装されることは想定されていない」Wikipedia 。
しかし、それをサポートする言語/ウェブサーバー/ IDEを知っている人がいたら、興味があります。
私は(phpを介して)Apacheを試していましたが、明らかに内部エラー(500)が発生しました。私はその背後にあるユーモアが好きで(ここでトロールしようとしているのではありません)、Emacsだけがこれを実装しているかどうか知りたいです。
より正確に言えば、たとえば、phpでエミュレートすることができます...
header("HTTP/1.1 418 Whatever text I'd like");
...しかし、実際のサーバーソフトウェア、またはlanguage特にそれを実装するnatrative、次のようなものは500をスローしませんが、実際には機能します。
http_response_code(418);
res.send(418)
次のHTTPヘッダーを送信します。
HTTP/1.1 418 I'm a teapot
Date: Wed, 25 Feb 2015 07:08:27 GMT
Connection: keep-alive
Transfer-Encoding: chunked
この応答を取得するために使用された実際のnode.jsコードは次のとおりです。
require('http').createServer(function(q,s) {
s.writeHead(418);
s.end();
}).listen(80);
http.Error(w, http.StatusText(418), 418)
はい、( ティーポット によって)実装されています。
このエラーコードは [〜#〜] htcpcp [〜#〜] (ハイパーテキストコーヒーポットコントロールプロトコル)の重要な部分です。
スタックオーバーフローはそれを実装します:
[〜#〜] csrf [〜#〜] 違反に対処する場合、少しクリエイティブですが。
ランのnet/http
パッケージは、HTTP 418ステータスを定数としてコード化します: StatusTeapot
。
私のサーバーwww.snarked.orgは、パス名が "/ coffee"または "/ pot-"で始まり、その後に数字、メソッドBREWまたはWHEN、または "coffee:"(実際には、正規表現)パターン「^ [CK] [AO] FF?[EIO] E?$」は、ほとんどの西ヨーロッパ言語をカバーしています)。 60秒後、ティーポットのGoogleのトップヒットにロールオーバーします。