我知道状态代码418被定义为愚人节的笑话,并且“预计不会被实际的HTTP服务器实现”,如Wikipedia所述。
但是,如果你们中的任何人知道支持它的语言/网络服务器/ IDE,我会感兴趣。
我正在尝试Apache(通过php),显然它给我一个内部错误(500)。我只是喜欢它背后的幽默(我不想在这里试图)并且想知道是否不仅仅是Emacs实现了这一点。
更确切地说:它可以在php中模拟,例如通过做类似的事情...
header("HTTP/1.1 418 Whatever text I'd like");
...但是你们中的任何人都知道任何实际的服务器软件,或者特别是语言,它本身实现它,其中类似下面的东西不会抛出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)
堆栈溢出实现它:
虽然有点创意,但在处理CSRF违规行为时。
Go lang的net/http
包将HTTP 418状态编码为常量:StatusTeapot
。
我的服务器www.snarked.org,如果路径名开头是“/ coffee”或“/ pot-”后面跟一个数字,或方法BREW或WHEN,或者一个方案等于“coffee:”(实际上是正则表达式)模式“^ [CK] [AO] FF?[EIO] E?$”,涵盖大多数西欧语言)。 60秒后,它将翻到Google最受欢迎的茶壶。