I'm betting that's their CDN swallowing the nonstandard (even though its on spec) http code.
Varnish does the same thing, which is why you can't get a 418 code out of httpstat.us/418, which is on heroku. Same goes for that cat-based one that came up the other week, which is also on heroku.
HTTP status 418 is an "official" status code released in the traditional yearly April Fool's Day paper[1] of the Internet Engineering Task Force. It was the joke for 1998.
True, but the spec clearly states that the 418 code is to be used only when "the HTCPCP server is a teapot; the resulting entity may be short and stout."
Just to add, while HTTP 418 is an April Fools joke, I had a semi-legitimate usage case for this at one point with http://drostie.org/ .
The idea was that I might have domains configured on my DNS which resolved to the same machine. And if you connect to that machine on port 80, no matter what domain, you will get the HTTP server.
The problem is, the DNS might recognize domains which the HTTP server is not listening for, e.g. "mail.drostie.org" or some such. When you visit those in a web browser, the server can't do what it's supposed to do -- pretend it's not listening on port 80 -- because it already received the HELO and the GET.
It's also clearly a client error, so the error code should be in the 4xx range. But just go down the list: it's not a syntax error (400), it wasn't unauthorized (401), payment isn't required (402), and the server technically didn't even understand the request, so it's not 'I understand but I refuse to fulfill' (which is 403). It's not that some file was not found (404) or that GET is not allowed (405) or that we couldn't fit the Accept HTTP header (406).
The real problem is that you asked mail.drostie.org to do something other than handle mail. None of the 4xx status codes really fits, and the one that comes closest is... 418. You asked me to brew coffee, but I'm a teapot.
Not a bad idea :). What I tend to do is make my default vhost show a page which explains what the server is and points the user to a more useful domain.
I did a university assignment on the HTCPCP.
My tutor thought it would be hilarious to get us to create a coffee pot server which was based on RFC 2324
Bah... 200...
I'm betting that's their CDN swallowing the nonstandard (even though its on spec) http code.
Varnish does the same thing, which is why you can't get a 418 code out of httpstat.us/418, which is on heroku. Same goes for that cat-based one that came up the other week, which is also on heroku.
Is it on spec? Somehow I doubt there's an actual teapot involved anywhere in responding to that request.
HTTP status 418 is an "official" status code released in the traditional yearly April Fool's Day paper[1] of the Internet Engineering Task Force. It was the joke for 1998.
[1]http://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_P...
True, but the spec clearly states that the 418 code is to be used only when "the HTCPCP server is a teapot; the resulting entity may be short and stout."
How does Varnish know the backend server is not a teapot? It's a blatant violation of the standard to strip it out.
Just to add, while HTTP 418 is an April Fools joke, I had a semi-legitimate usage case for this at one point with http://drostie.org/ .
The idea was that I might have domains configured on my DNS which resolved to the same machine. And if you connect to that machine on port 80, no matter what domain, you will get the HTTP server.
The problem is, the DNS might recognize domains which the HTTP server is not listening for, e.g. "mail.drostie.org" or some such. When you visit those in a web browser, the server can't do what it's supposed to do -- pretend it's not listening on port 80 -- because it already received the HELO and the GET.
It's also clearly a client error, so the error code should be in the 4xx range. But just go down the list: it's not a syntax error (400), it wasn't unauthorized (401), payment isn't required (402), and the server technically didn't even understand the request, so it's not 'I understand but I refuse to fulfill' (which is 403). It's not that some file was not found (404) or that GET is not allowed (405) or that we couldn't fit the Accept HTTP header (406).
The real problem is that you asked mail.drostie.org to do something other than handle mail. None of the 4xx status codes really fits, and the one that comes closest is... 418. You asked me to brew coffee, but I'm a teapot.
Not a bad idea :). What I tend to do is make my default vhost show a page which explains what the server is and points the user to a more useful domain.
you can get one here: http://httpbin.org/status/418
Works for me...
although it shows as 'Unknown Error' instead of 'I'm a Teapot'
It's a reference to an April Fools joke from 1998: http://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_P...
In the spirit of more fun, http://medlem.spray.se/erur/418.htm
Needs more teapots.
http://www.bbc.co.uk/cbeebies/418
Headers:
Unfortunately, it's a lie. Obviously this is a web server and not a teapot.
It could be running on NetBSD... If it runs on toasters, teapots are the next logical step.
Technically most web servers are teapots, just incredibly bad ones.
Old Prescott Pentium D CPUs might actually make decent teapots. Those things were hawt.
Google AppEngine doesn't seem to allow the 418 response code. Failed expectations at the best: http://geekceo.com/418
Has anyone designed a teapot to functionally implement this protocol?
http://www.cs.rhul.ac.uk/home/joseph/teapot.html
The page claims that http://134.219.188.123/ is the device in the picture. Since we may be about to hammer it:
Lovely!
Perhaps the next implementation should use Raspberry Pi instead of a laptop.
You don't need a raspberry pi.
http://d116.com/ace/
http://arduino.cc/en/Tutorial/WebServer
Unfortunately, it doesn't support either BREW or WHEN requests. No coffee for me.
I did a university assignment on the HTCPCP. My tutor thought it would be hilarious to get us to create a coffee pot server which was based on RFC 2324
How did anyone find this? (It's not in robots.txt, fyi)
It's from an April fools joke from 1998 regarding the "Hyper Text Coffee Pot Control Protocol"
http://en.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_P...
You misunderstand - my Q is how did anyone find NYTime's implementation of this joke spec?
From the excellent HTTP Status Cats:
http://httpcats.herokuapp.com/418