[HN Gopher] HTTP Status 418 - I'm a teapot
___________________________________________________________________
HTTP Status 418 - I'm a teapot
Author : evo_9
Score : 136 points
Date : 2021-09-15 16:41 UTC (6 hours ago)
(HTM) web link (developer.mozilla.org)
(TXT) w3m dump (developer.mozilla.org)
| daveslash wrote:
| For those who may not know, this comes from RFC 2324: _" "Hyper
| Text Coffee Pot Control Protocol (HTCPCP/1.0)_, The RFC was
| published _1 April 1998_ (April Fool 's Day). There's a long
| history of humorous RFCs published on 1 April. For example, RFC
| 1149 "IP over Avian Carriers"
| https://en.wikipedia.org/wiki/IP_over_Avian_Carriers
|
| List of Additional April Fool's RFCs
| https://en.wikipedia.org/wiki/April_Fools%27_Day_Request_for...
| Teknoman117 wrote:
| I still love that people actually went through the effort to
| "implement" it.
| mzzter wrote:
| Any links to APIs that implement a 418 HTTP response code?
| tbronchain wrote:
| Binance API (i.e
| https://api.binance.com/api/v3/ticker/price) does it when
| there are too many requests from one IP (I assume that's
| the reason). They could have used something else like 429
| but for some obscur reasons they're using 418 (if anyone
| knows the actual reason...).
|
| It will happen often if you try to make a call to their API
| through Google sheet scripts.
| lallysingh wrote:
| If you have an IoT teapot, when do you return it?
| pkd wrote:
| No link but our internal API for mobile apps returns a 418
| if the installed version is too old.
| madamelic wrote:
| If I have anything to do with it, there is a 418 response
| hidden somewhere.
|
| I recall a few internal projects at a previous employer
| would return 418 if the user managed to royally mess
| something up as a "wtf, how are you here?!" kind of
| response.
|
| I feel like I am not alone in implementing 'weird' HTTP
| codes when I get bored / as an easter egg. Pretty sure I
| also used HTTP 420 at least once.
| darkhorn wrote:
| https://www.google.com/teapot
| lodovic wrote:
| .Net seems to have it: https://docs.microsoft.com/en-
| us/dotnet/api/microsoft.aspnet...
| jamespwilliams wrote:
| http.StatusTeapot in Go: https://pkg.go.dev/net/http#pkg-
| constants
|
| 4k+ results on Github: https://github.com/search?utf8=&q=
| http.StatusTeapot&type=Cod... ~600 excluding _test.go
| files: https://github.com/search?q=http.StatusTeapot+-fil
| ename%3A*_...
| SilasX wrote:
| To toot my own horn, I did an April Fool's status code RFC: 397
| Tolerating, for when a client sends a flawed request, but
| you're going to tolerate it because you know what they really
| meant:
|
| https://pastebin.com/TPj9RwuZ
| xwdv wrote:
| This is a good idea for APIs that allow you to update an
| object by sending a partial JSON object with the keys you
| want to update, when technically you're supposed to send the
| entire updated object representation unless JSON Patch is
| being used.
| jfrunyon wrote:
| April Fools RFCs are part of the "Independent Stream", which
| mean the top left would say "Independent Submission", not
| IETF. Also, Informational, not Standards Track. Just FYI :)
| jonwinstanley wrote:
| Nice to see more members of the community discovering a classic.
| Also... I am so old I've seen this on the homepage multiple times
| :-(
| exdsq wrote:
| I'm in my late twenties and I've seen it dozens of time too
| jonwinstanley wrote:
| Haha yes it keeps going round and round
| J5892 wrote:
| Would it be valid for an actual IoT teapot to return this instead
| of a 200 for a valid request?
| remedan wrote:
| It's an error code. It should be returned by a _tea pot_ as a
| response to a request for _coffee_.
| kevwil wrote:
| I guess it's been about a generation since I implemented this as
| an easter-egg in a RESTful API service I built. It was quite the
| joke then, but now with IoT "smart" teapots and whatnot being so
| popular, it's not so funny now.
| vincentpants wrote:
| Came to mention this. It really was a fantastic joke. May it
| rest in peace. _pours one out_
| schnable wrote:
| It's all fun and games until some clever developer uses this
| error code in a production system and the client developer or SRE
| folks have no idea what it means. Have also seen error code 420
| used this way.
| artembugara wrote:
| I've heard it's been used a lot by the MOVA developers
| duxup wrote:
| I return 418 in some cases where somehow someone ended up
| somewhere in the code that I otherwise thought impossible. It
| works pretty well as far as letting folks know that something
| particularly unusual has happened / this isn't your ordinary
| error.
| LorenPechtel wrote:
| Except a 4xx error should not be issued for internal errors.
| JoyrexJ9 wrote:
| I do hope this is a humorous comment
| IncRnd wrote:
| 400 series codes are for client errors. 500 series codes
| are for server errors.
| OJFord wrote:
| Why? The codes mean things, 418 specifically is a joke, but
| the entire 4xx range are client errors, i.e. a differently
| formed request would've succeeded.
|
| A perhaps-reasonable suggestion could be to use a 5xx range
| code that isn't specified. E.g. 555, or 567.
|
| (But I'm not sure how it would ever not simply be a 500 -
| server thought it couldn't happen, it could and did, that's
| just a plain and simple error isn't it?)
| [deleted]
| Izkata wrote:
| I think the idea behind 418, as much as there was an idea
| beyond a joke, was to indicate you sent your request to a
| teapot instead of a server. So yeah, client error for why
| it's not 518 instead.
|
| But it works in this example for "client did something
| weird I don't understand", so still client error -
| something akin to a 404, "client tried to go somewhere I
| don't understand".
| OJFord wrote:
| Yes, exactly, I wasn't excluding 418 in saying all 4xx
| are errors in the client's request.
|
| But 'client did something weird I don't understand' is a
| 400, 405, something; not the same as 'this cannot happen'
| at all.
| mekkkkkk wrote:
| But it's the clients fault for trying to communicate with
| a teapot. There's nothing wrong _inside_ the teapot. You
| just tried to communicate with a teapot. That 's silly.
| Here's a 418 for you.
| OJFord wrote:
| Again, _yes_ , I am _not_ saying 418 is wrong to be 4xx,
| I am _including_ it in 'the _entire_ 4xx range are
| client errors '.
| _jal wrote:
| A less humorous unusual status code is 451. Unfortunately, it
| probably should be used more.
|
| https://en.wikipedia.org/wiki/HTTP_451
| duxup wrote:
| I think that would get attention, although I wouldn't want
| there to be panic ;)
| norrius wrote:
| I come from a country with rather _interesting_ views on what
| should be allowed online. 451 is used often enough that I've
| seen it in the wild more than once (and consider yourself
| lucky if you haven't encountered it...).
| mrweasel wrote:
| I get those every so often from US websites that doesn't
| want to deal with the GDPR.
| da_chicken wrote:
| That suggests that there are websites anywhere that do
| _want_ to deal with GDPR, which seems rather unlikely.
| rspoerri wrote:
| i wonder how this is handled in vr browsers?
| lordalch wrote:
| I'm personally of the opinion that 418 shouldn't be considered a
| joke response, but would actually useful as 418 "Unsupported
| Device".
|
| What response should a printer give if you asked it to send a
| fax, but you have a base-model printer that doesn't support
| sending faxes. From the perspective of the printer, I know what
| you want (i.e. not a 404) and you've asked for it correctly (i.e.
| not 400 or 401 or 403), but I can't do it, and this does not
| indicate an error on my part (not a 500 or 503). Thus, 418:
| Unsupported Device.
|
| Perhaps this too much of an overlap with 404 (I don't have that
| resource) and 501 (I can't do that verb to that resource), which
| I assume is why there's not a huge need for it. But if we're
| going to have 418 exist and receive browser support anyway, it
| might as well have a useful meaning rather than just exist as a
| joke.
|
| This interpretation is fully in keeping with the non-joke meaning
| of the original RFC, as a teapot is a device that does not
| support brewing coffee.
| jlund-molfese wrote:
| I'd probably use a 422 in that case. I think 422 errors are
| underused, and can good for communicating errors when a client
| requests something which doesn't make sense from a business
| context.
| Nashooo wrote:
| It's complete overlap with 404 IMO
| polarhive wrote:
| https://http.cat/418
| achillean wrote:
| There are a few thousand web servers that return this status code
| for their main page :)
| https://www.shodan.io/search/report?query=http.status%3A418&...
| stblack wrote:
| Support for this landed in Microsoft Edge v12, according to the
| table in the article. So it's supported across all major
| browsers, green across the board. But all that may be humorous
| lisense.
| hirsin wrote:
| Hm, that's surprising. I added it as a known error response to
| the Internet Explorer dev tools in 2015 (inadvertently causing
| "I'm a teapot" to be localized into 108 languages...). I wonder
| what "support" means.
| andrethegiant wrote:
| My favorite part is that the response body can optionally include
| "short and stout".
| whckt wrote:
| A fun one I found out a while back is that Twitter used 420
| Enhance Your Calm instead of 429 Too Many Requests to rate limit.
| midwestemo wrote:
| Google's 418 error page: https://www.google.com/teapot
| coding123 wrote:
| I can't remember but didn't some company try to implement this
| for an actual connected tea pot?
| arcanist_union wrote:
| Is this the first 'IoT' spec ever? :)
| jtsiskin wrote:
| I really hope this is used by https://cosori.com/products/smart-
| electric-gooseneck-kettle-...
| samschooler wrote:
| Some previous discussions on this status specifically:
| https://hn.algolia.com/?q=418
|
| Some fun ones:
|
| - Discussion on the status itself:
| https://news.ycombinator.com/item?id=24206899
|
| - NPM proxy users receiving ERR 418 I'm a teapot:
| https://news.ycombinator.com/item?id=17175960
|
| - Reserve the 418 status code:
| https://news.ycombinator.com/item?id=15004907
| dang wrote:
| Thanks! I merged your list and mine to come up with:
|
| _Error 418 - I 'm a Teapot_ -
| https://news.ycombinator.com/item?id=25282286 - Dec 2020 (14
| comments)
|
| _I'm A Teapot - HTTP status code 418_ -
| https://news.ycombinator.com/item?id=24206899 - Aug 2020 (118
| comments)
|
| _HTTP 418: I 'm a Teapot_ -
| https://news.ycombinator.com/item?id=22215285 - Feb 2020 (9
| comments)
|
| _HTTP 418 I 'm a Teapot_ -
| https://news.ycombinator.com/item?id=17652557 - July 2018 (39
| comments)
|
| _Http status 418 at overstock.com_ -
| https://news.ycombinator.com/item?id=17529017 - July 2018 (2
| comments)
|
| _NPM proxy users receiving ERR 418 I 'm a teapot_ -
| https://news.ycombinator.com/item?id=17175960 - May 2018 (252
| comments)
|
| _Reserve the 418 status code_ -
| https://news.ycombinator.com/item?id=15004907 - Aug 2017 (115
| comments)
|
| _HTTP Error Code 418 I 'm a Teapot is about to be removed from
| Node_ - https://news.ycombinator.com/item?id=14987460 - Aug
| 2017 (42 comments)
|
| _Google teapot error_ -
| https://news.ycombinator.com/item?id=14275583 - May 2017 (12
| comments)
|
| _HTTP status code 418 (I 'm a teapot)_ -
| https://news.ycombinator.com/item?id=13354835 - Jan 2017 (3
| comments)
|
| _Ask HN: What 's a good coffee pot for implementing the 418
| protocol?_ - https://news.ycombinator.com/item?id=10659595 -
| Dec 2015 (2 comments)
|
| _Google 's HTTP 418 Response_ -
| https://news.ycombinator.com/item?id=8269538 - Sept 2014 (2
| comments)
|
| _Service for Generating Different HTTP codes. (418 I 'm a
| teapot)_ - https://news.ycombinator.com/item?id=7383566 - March
| 2014 (3 comments)
|
| _HTTP Status Code 418_ -
| https://news.ycombinator.com/item?id=7046027 - Jan 2014 (4
| comments)
|
| _I 'm a teapot_ - https://news.ycombinator.com/item?id=3511781
| - Jan 2012 (29 comments)
|
| _HTTP Status 418 I 'm a teapot_ -
| https://news.ycombinator.com/item?id=2221505 - Feb 2011 (33
| comments)
|
| _HTTP Error 418: "I'm a teapot"_ -
| https://news.ycombinator.com/item?id=235856 - July 2008 (2
| comments)
| adeelk93 wrote:
| The NPM one is fun now, but man that was a frustrating one when
| it was happening. Explaining to people I couldn't deploy the
| app because NPM decided it was a teapot. Error messages do not
| need to be silly.
| spondyl wrote:
| I remember I was at some training course for New Relic and we
| zoned out when the alert came through. Having come across 418
| before, I recognised it in our failed build pipeline and
| facepalmed. My coworker asked how do we fix it and U said I
| honestly don't know because it's never actually meant to be a
| real error code but here we are!
| kzrdude wrote:
| It's quaint, it's a joke about IoT devices before they were
| everywhere. I'm currently disappointed that the office has
| "upgraded" coffee machines and the new one has a permanent
| internet connection and shows ads/branding (for coffee) when it
| is idle.
| dylan604 wrote:
| Sounds like it needs to be playing Doom instead. Or hacked to
| show branding for tea.
| jimmaswell wrote:
| I read a while ago about some coffee machines unintentionally
| bridging an internal network and spreading ransomware. I think
| they had Windows XP on the inside. Couldn't help but find the
| situation funny in a way.
| treeman79 wrote:
| Good old XP.
|
| Cleaned someone's virus infected computer out. Plugged the
| network jack into the cable modem. Under 10 second and I had
| to start from scratch...
|
| When work tells us they are blocking all external connections
| in data center, I can't really argue even with how much work
| it is.
| ufmace wrote:
| Do you mean ads in the sense of "please buy brand X coffee" or
| in the sense of "please try some of this machine's delicious
| coffee"?
| kzrdude wrote:
| just stuff that emphasizes the brand of coffee that's in the
| machine. It's ridiculous (obviously an ad to buy that brand
| at home too, which I safely won't since I like my specialty
| coffee).
|
| We need coffee machines that shut up and serve coffee and
| don't do brand ads.
| xwdv wrote:
| If only such a coffee machine still existed.
| xjlin0 wrote:
| So, if the server were a real "smart" IoT teapot, such response
| become actually valid? :)
| IggleSniggle wrote:
| Well, this is an error code, so yes but- only if someone asks
| the teapot to brew a cup of coffee. Per the spec.
| SV_BubbleTime wrote:
| >and shows ads/branding (for coffee) when it is idle.
|
| If there is ever an Office Space 2, I think this is a candidate
| for the new fax machine.
| yakshaving_jgt wrote:
| I think for the same reason that Fawlty Towers ended after
| one season, there should never be a sequel to Office Space.
|
| It's too perfect. It could only go downhill.
| frutiger wrote:
| Fawlty Towers ran for two series, but your point remains.
| squarefoot wrote:
| Agreed on principle, although in the last 2 years there's
| enough material for a highly successful Idiocracy sequel.
| Probably a short series too.
| pengaru wrote:
| No, there must be a sequel; Open Office Space.
|
| Office Space is great but the cubicles date it firmly in
| the 90s.
| dylan604 wrote:
| Office Space 2 => Open Office Space => Silicon Valley
| ableal wrote:
| A couple of years ago the gas pumps at station nearest to my
| place were replaced by devices with screens that play ads with
| sound - so far just touting discounts with their supermarket
| loyalty cards. They start when someone picks up the nozzle, and
| were annoyingly loud initially; the sound has been turned down
| a bit lately.
|
| (Well, there's another reason for me to be pleased with having
| traded one of the family cars for an electric that charges at
| home ...)
| snowwrestler wrote:
| There are usually buttons next to pump screens and one will
| mute the sound. Just push them one by one.
| arbitrage wrote:
| the manufacturers caught on to that specific mitigation,
| and it doesn't work that often in the wild anymore.
| technothrasher wrote:
| There are a few gas stations around here with pumps that like
| to play ads at you while pumping gas. I tend to make a note
| of them and purposely get my gas elsewhere.
| arcanist_union wrote:
| Yo dawg.... We heard U like coffee
| enahs-sf wrote:
| Reminds me of the twitter "Enhance Your Calm" 420 status code in
| lieu of 429.
___________________________________________________________________
(page generated 2021-09-15 23:00 UTC)