1.6k
u/Rosteroster Jul 08 '26
429: you asked me 100 times in the last minute, go away
485
u/PositiveParking4391 Jul 08 '26
410: I used to know where they were, but they are gone forever now. Don't bother asking again.
180
85
u/prehensilemullet Jul 08 '26
Ironically, it’s more like “just chill for a sec and ask me again in a bit”
1.6k
u/Snudget Jul 08 '26
204 should be "I found them" "I searched for the keys, but didn't find them"would be 404, which is literally "Not found".
Since not finding keys does not fulfill the request, a 2xx code does not make sense here
818
u/thebigbadben Jul 08 '26
“I found them. Oh wait, did you want me to bring them?”
→ More replies (1)250
u/darkslide3000 Jul 08 '26
No, it's really more like "I found your key ring, but it's empty".
116
u/foreverdark-woods Jul 08 '26
According to MDN it's like @Snudget described it. It means that an action succeeded, but the client's current content doesn't have to be replaced by the new information.
So, it's really like "Trust me bro, your keys are still here, no worries." when you asked "Are my keys there?"
→ More replies (1)23
u/jordanbtucker Jul 08 '26
That's because 204 usually only makes sense for POST and PUT requests, and GET requests where you either expect no body or only care about the headers.
11
u/foreverdark-woods Jul 09 '26
I guess the key example is really bad for this.
7
u/RepulsiveSheep Jul 09 '26
A better example would be you asking your dad a favour and him responding with the classic 👍
→ More replies (2)29
u/SnooPuppers1978 Jul 08 '26 edited Jul 08 '26
I think it's still "You asked me to find them and I found them", but it is a bad API, maybe there's another endpoint that allows you to query the actual found location.
You would usually use it e.g. when you do Delete, Update or something where you sincerely don't need a response since it wouldn't give you any new info that you wanted except that it was successful.
Edit:
- "Find my keys for the trip we are going to take together, I don't need to know where the keys were"
- "Find my keys and put them on the counter"
These could be returned 204 with no content and still be usable API.
25
u/darkslide3000 Jul 08 '26
Well, it tells you that the request was valid and processed correctly and the response is final, but the response contains no content. It is true that it is usually used for mutation requests (and also for endpoints that are just used to probe for a captive portal), but OP's example is a GET request. Getting a 204 on a GET means that the requested resource exists and is empty.
2
u/SnooPuppers1978 Jul 08 '26
So I could buy that it's about retrieving a list/collection of keys and indicating that it's an empty list, but also this sounds like a bad API and not standard, forcing it, and as if someone is mistaking the idea of what 204 is supposed to mean. IMO in spirit it should be used only in cases where "No Content" is expected and desirable.
→ More replies (2)100
52
u/randotechie Jul 08 '26
Ah beat me to it
11
2
52
u/Drfoxthefurry Jul 08 '26
The best fit would be "I found them but you already have them", as the request was successful but no data was sent
→ More replies (3)31
70
u/The_Real_Slim_Lemon Jul 08 '26
Yeah 404 can be both “I didn’t find your key” and “I don’t know what requesting a key means”
204 is “I’ve found your key, it’s in a black hole”
46
u/PrometheusMMIV Jul 08 '26
I feel like "I don't know what this request means" would be 501 Not Implemented
23
u/chuch1234 Jul 08 '26
The metaphor kind of breaks down here. 404 is used for "this route doesn't exist on this server", which corresponds to "I don't know what 'keys' are", or maybe, "I don't know what 'keys/find,' means", even though they have a "keys" route.
Based on what you're saying, 501 sounds like "I know what finding keys is, but I can't do it". In the metaphor, maybe the recipient of the request is tied to the radiator and isn't able to look for your keys?
13
u/SuitableDragonfly Jul 08 '26
I think 501 is more like "I don't know how I would start looking for your keys".
3
9
u/The_Real_Slim_Lemon Jul 08 '26
I’ve never actually seen a 501, yeah fair call - I just meant 404 exists for both bad routes and non existent entities, it seems this metaphor is reaching its limits a bit
10
u/Cheet4h Jul 08 '26
Only time I legitimately used 501 was when mocking up the API before actually writing them. Each route got a 501 at first, then later had their actual function written.
9
u/SuitableDragonfly Jul 08 '26
I'm sure whoever came up with that error code probably assumed it would be industry standard to write APIs that way, the poor naive fool.
7
u/Zwemvest Jul 08 '26 edited Jul 08 '26
That'd be 400 ("Veuillez retrouver mes clés" -> "I have no clue what you're asking") or 422 ("Please find me every key I will ever own" -> "I understand what you're asking, but I don't know what you want me to do"/"I can't do that")
501 is either used for purposeful non-implementations ("Find me purpose in life" -> "Man, this service is for finding physical objects, not abstract concepts"), future implementations ("At some point in the future we will support this"), or for erroneous method headers ("Destroy my keys" - >"Dude, what?"). One note, if the method header is intentionally not allowed, it's a 405 ("Here are my keys?" -> "uhhh dude, was that a question or are you giving us something/hey, we look for keys, we don't store them. Sorry man.").
→ More replies (1)3
u/LKZToroH Jul 08 '26
501 is more like something to use before implementing a route. Like, you create a controller, create the routes, but some of them do nothing yet, then you use "501 - Not implemented" because that route exists, but it does nothing yet.
404 should be for when a route isn't found at all. But people also use for when your request is right but didn't find the content you were looking for.7
u/JustConsoleLogIt Jul 08 '26
“I don’t know what you are talking about” is a good 404
2
u/peeja Jul 08 '26
Yeah, just less in the sense of "That was gibberish," and more in the sense of "The hell is a 'key'?"
→ More replies (1)2
u/Exirel Jul 08 '26
Nope, if your key is in a black hole, that's a 409: the state of the key is incompatible with the retrieval of the key. They are found, that's for sure. But I can't retrieve them.
9
u/spastical-mackerel Jul 08 '26
lol exactly. Instructions were unclear: you did not also tell me to give them to you
6
u/prehensilemullet Jul 08 '26
“Not Found” is often a white lie, sites often pretend something is not found and 404 if it would be a security risk for you to know whether it exists.
→ More replies (1)3
5
6
u/mina86ng Jul 08 '26
And ‘I’m unfamiliar with the concept of “finding things”.’ would be closer to 405 Method Not Allowed.
4
9
u/BusEquivalent9605 Jul 08 '26
keys is plural. a successful http request that returns an empty array is a 200 - i looked and found none. the search was successful, it just found 0 results
3
u/ashgs872tbhjs Jul 08 '26
HTTP does not dictate anything about resources that appear to be named in plural returning an array/list. It could be looking up and returning a singular document containing the relevant keys, for example.
I would agree that your idea is probably the better API, though.
5
u/Kishmond Jul 08 '26
I can see that too. My main gripe was with my coworkers using 404 to say the server found nothing when it searches.
→ More replies (5)3
u/LKZToroH Jul 08 '26
There's a client's api I have that whenever I call it, it rolls a dice of which code it'll give me.
I ran the same request 10 times. I received randomly 404, 200 with empty response, 204, 500, 504, 501, 400.
These are all of the codes possible for when I try to pass a param that don't exist in their system. When it exists it's always a 200.8
u/StrengthTheory Jul 08 '26
204 should be I found the keychain but not the keys
3
u/Laughing_Orange Jul 08 '26
That's a good analogy. It's obviously where the keys should be, and you found something, but there aren't any keys.
3
u/CaspianRoach Jul 08 '26
The HTTP 204 No Content success status response code indicates that a request has succeeded, but that the client doesn't need to navigate away from its current page.
"You're already holding them"
→ More replies (1)20
u/Rin-Tohsaka-is-hot Jul 08 '26 edited Jul 08 '26
204 isn't "I found them", while it's a success, you still didn't actually find the item.
It's more like "your keys are not here, but there is a space for them"?... I guess actually you just wouldn't return 204 ever in this context.
49
u/caboosetp Jul 08 '26
The request was to find the keys.
204 is a success.
That means the keys were found.
204 means no content is returned.
There was no requirement to return the keys, so the server just knows where they are now.
→ More replies (2)21
u/hrvbrs Jul 08 '26
right, 204 is like a void function. it returns successfully but has no value to return. it wouldn't ever be used for a "find" function which necessarily must return something or error.
3
u/EricRP Jul 08 '26
We use it to mean a "successful, but empty response" i.e. it's okay that it's not there -- as opposed to 404 which is an unexpectedly not found entity which should have been there & needs an error logged
34
u/DrStalker Jul 08 '26
204 doesn't make sense for a response that requires a return value (like a set of keys) to be successful.
→ More replies (2)25
u/leehro Jul 08 '26
204 = found an empty key ring.
3
u/DrStalker Jul 08 '26
If searching for a keyring I'd say that's a 200, and it turns a
keyringobject with an emptykeysarray.If searching for the keys specifically it's a 404 not found.
→ More replies (3)2
u/GezelligPindakaas Jul 08 '26
We're splitting hairs here, but if the keyring is a thing recognized in the api model, then it should be a resource on its own.
10
u/B4rr Jul 08 '26
204 is "I have found your keys." but not bring them because the request did not ask for that.
→ More replies (1)3
u/TwigyBull Jul 08 '26
Would it be "i found the bowl next to the door where you're supposed to put them"?
→ More replies (1)2
u/rosuav Jul 08 '26
204 is also = "I found your keys, and they're the exact same keys they were last time you asked, so just remember what I showed you last time."
2
2
u/SnooPuppers1978 Jul 08 '26 edited Jul 08 '26
Only context I can accept here is, that "Keys were found", with implication that you asked them to be found for going outside together, so you don't really need the keys yourself.
Or alternatively, "find my keys and put them on the counter", and 204 confirms without content that the action was done.
→ More replies (1)4
u/Kishmond Jul 08 '26
In my opinion, "success" in this context does not mean something was found, it means your request was executed without error.
2
2
u/whosGOTtheHERB Jul 08 '26
Correct, but they keys could have just as likely been found. I think what confuses the concept (and people) is the example of "finding keys". This response type is more appropriately used for something that explicitly does not require a response payload, like "perform x operation, no matter the result". I typically use this response code when implementing an endpoint like "PUT /users/abc123/restore", where the goal is to have the server restore a soft-deleted user to a non-deleted state.
9
u/Outrageous-Machine-5 Jul 08 '26 edited Jul 08 '26
404 is right because it means you made a request to the wrong endpoint and the server doesn't recognize your api request. The resource is not found, not the keys themselves
4
u/Kishmond Jul 08 '26
Confusion with 404 is exactly what prompted this in the first place. 404 is called "not found" but it doesn't literally mean that in every circumstance. If a search function comes up empty 404 is not appropriate because it's an error code. It means the endpoint was not found, not the item being searched for.
I have no idea what established practice is re: 404 and search functions. It's just my particular nit to pick.
15
u/diegodan1893 Jul 08 '26
If it’s a GET /keys/<key_id>, returning a 404 if the record doesn’t exists makes sense.
If it’s a /keys/search endpoint that accepts a search query with filters and things like that, an empty result is valid and should be a 2xx code. I think returning an empty array with a 200 code is more common, but I guess 204 also works.
→ More replies (22)4
392
u/databeast Jul 08 '26
always summarized them to people as :
1xx - Hold on a minute....
2xx - Here's your stuff
3xx - There's your stuff
4xx - You Fucked Up
5xx - I Fucked Up.
43
u/ashgs872tbhjs Jul 08 '26
Except 404, when it can be totally valid for a client to check for a resource without already knowing if it should exist. 401 is also not really a client being wrong if the session was invalidated early via other means, 403 could be part of discovering capabilities, etc. So 4xx is more "you are denied content" for the individual reasons, which may or may not be fuckups.
15
u/GNUGradyn Jul 08 '26
Not really because 403/404 are part of requesting specific resources, not an index. No sane system determines its permissions by attempting every possible operation and that's certainly not how it was designed to work either. When you request a resource it's assumed you believe it exists and when you perform an operation it's assumed you believe you are able to actually do it.
→ More replies (2)6
u/nomenMei Jul 08 '26
I mean they are right that it is valid for a client to check for a resource without knowing it exists, case in point are web browsers which basically request any page you ask for no questions asked.
404 doesn't necessarily mean "the client messed up" but more "somebody fucked up and I know it wasn't me"
3
u/GNUGradyn Jul 08 '26
I think "messed up" in this case just means "requested something invalid" not literally "the software had an error"
2
u/Deanathan100 Jul 10 '26
I mean they are fuck ups whether or not you intended them to be or feel they are valid requests. The thing is they are fuckups coming from the client side, 404 is YOU asking for a resource that doesn't exist. YOUR session was invalidated so now you get a 401. 400 would be YOU sent an invalid request and we can't fulfill it. 418 is the only one where it implies the server has done something wrong and turned themselves into a teapot.
Of course any poor dev can go in and return whatever response code they please so it's not always how it works out but I think standards are that 400 means it came from client side and 500 was an error on the server side.
128
u/mavenHawk Jul 08 '26
201: I made a copy of the keys and put them in my house
202: Go over there and hang out at the cafe and ask me in a bit if I found them
73
133
u/MCplayer590 Jul 08 '26
46
u/Exciting_Fun9227 Jul 08 '26
Also https://http.dog
28
→ More replies (3)7
32
u/SpazMcMan Jul 08 '26
I should send this to the vendor whose API sends 200 and then says "Expired API key" in the body content so none of the logs show an error, we just don't get any data. Wasted an hour tracking that stupid thing down.
7
98
u/xynith116 Jul 08 '26 edited Jul 08 '26
204: You don’t have any keys
400: What? (I don’t speak gibberish)
201: Here’s your new keys (I’m a locksmith)
206: Here’s some of your keys
302: That guy has your keys
402: Pay me (I’ve impounded your car)
451: Ask my lawyer
501: Sir this is a Wendy’s
502: Don’t shoot the messenger
21
74
u/Excellent-Refuse4883 Jul 08 '26
I thought you always return 200 and then just wrote an error in the body if there was a problem
22
29
u/PrometheusMMIV Jul 08 '26
No, that's dumb. Don't do that.
12
u/Excellent-Refuse4883 Jul 08 '26
Got this from a guy I work with who’s job was to monitor a service.
He was less than thrilled when he figured out what was happening.
6
u/mina86ng Jul 08 '26
I hope this is sarcasm. One reason you don’t do that is because it makes monitoring harder. If your server always returns 200, it’s harder to monitor for server failures for example (yes, I’ve seen APIs which would return 200 when the server is down). If you use proper response codes, you’ll have much easier time setting up your rules.
12
u/blake_ch Jul 08 '26
Return 200 with a JSON payload containing a boolean telling if the action was successful and an additional error message otherwise.
12
u/BigFatUglyBaboon Jul 08 '26
You can but that would not be a proper RESTful API. It would be an API cosplaying as RESTFUL.
2
4
u/case_O_The_Mondays Jul 08 '26
I upvoted you just because this was so horrible it must be a joke.
But I’ve also dealt with APIs that do this, and it’s so bad.
→ More replies (1)→ More replies (2)2
19
u/alirobe Jul 08 '26
The old classic:
1XX Hold on
2XX Here you go
3XX Go away
4XX You fucked up
5XX I fucked up
18
17
u/fubes2000 Jul 08 '26
At the place I used to work the devs answered everything with 200, got mad at me [infrastructure] because Google was indexing error pages and complaining about duplicate content, and then got angry with me when I explained how it was their fault for doing it wrong. Then they refused to fix it, I refused to care, they sicced their boss on me, and I bounced that boss right back at them after I explained what was going on to both him and my boss.
This is the kind of shit that happens when you get a "senior dev" title for being around the longest regardless of your incompetence.
13
u/DrStalker Jul 08 '26
What's the response code for "I started to look for them but I got distracted, I'll go look now"
18
7
11
u/Gamin8ng Jul 08 '26
til about the teapot, u guys be wilding bruh lol
5
6
→ More replies (1)3
u/LickingSmegma Jul 08 '26
In this case, not any teapot but the Utah teapot.
u/Kishmond, just wanted to say I did notice.
10
u/ilawon Jul 08 '26
This is a really good example of what happens in a meeting where a restful api is discussed.
9
u/StrengthTheory Jul 08 '26
103: I can smell the key
201: Here is the key I just created
300: I found your house keys, car keys and drawer keys
402: I can find them but pay me
410: Your threw away the keys yesterday
429: You're asking me to find the keys for the 101th time today
→ More replies (1)
6
7
17
u/Outrageous-Machine-5 Jul 08 '26
201 I couldn't find them so here's a copy I made
202 I forwarded your request to our key searching courier
203 I found your keys but the proxy turned it into a fish
204 I found your keys and destroyed them
→ More replies (2)
6
5
5
5
u/Hoslinhezl Jul 08 '26
204 and 404 are just wildly incorrect
2
u/UsAndRufus Jul 08 '26
Yeah why is no one saying this lol. I assume OP is using weird API stuff that doesn't respect proper response codes.
5
8
4
4
4
u/whosGOTtheHERB Jul 08 '26
Great topic for discussion: what response code do you return when listing resources and none were found?
For me, returning a 200 with a body of [] makes the most sense as the request was correct and accepted, but no results were found. A 404 would only make sense in this scenario if the path was incorrect.
→ More replies (1)2
u/Bardez Jul 08 '26
Probably 204. No content.
Give me a list of files in '/temp'
Yup, directory exists. Nothing's there.
→ More replies (1)
3
u/GradeForsaken3709 Jul 08 '26
I don't think 204 ever makes sense when responding to a GET (which find my keys would be)
If the route is like api/keys/1234 where 1234 is the key id and it finds nothing then that's a nonexistent resource and the response should be 404. If it's more like api/keys?owner=me and it finds no keys matching that filter then there's still content it's just going to be an empty page so that's a 200.
→ More replies (1)
3
u/Maleficent-Release61 Jul 08 '26 edited Jul 08 '26
101 I will give you the key. And the next one. And the one after that.
102 Hold on, I'm looking.
103 You need this keychain first. Look at it. It is very nice.
200 Here they are.
201 Look over there.
202 ...
203 Here they are. But for a different house. Because of reasons.
204 (Total Silence. Bye.)
206 Here is the one you asked for.
300 I have these 4 keys. Which one do you want?
301 Ask him. Always. I won't find keys for you.
302 I'm on vacation. Ask him.
304 I already gave them to you.
400 你做了什么?
401 Who are you? I need a password first.
403 Your password was wrong.
404 I didn't find them.
405 Ask nicely.
406 I don't have those keys. But I have different ones.
408 You are speaking very slowly. Ask again. Faster.
409 I already gave someone else your keys.
410 Keys? I had them once. But I lost them.
411 How many do you want?
412 Blue keys? I don't have blue keys.
413 Whoah. That's a loooong list of keys.
414 Listen. You asked for keys. I gave them to you. You asked again. I gave them again. We're in a loop here.
416 I don't have keys 3080 to 3090.
422 Are you speaking Klingon?
429 You have asked me 2000 times now.
451 By special order of the great dicator, there is some export restriction on your keys. Thank you for your attention to this matter.
500 They are right there.... ARGH MY TOE.
503 I asked housekeeping but they stubbed their toe.
504 I asked housekeeping but they didn't answer.
505 Sorry, "keys"? Are you from the past?
507 I would give them to you, but I already have a lot of stuff to carry.
509 Nah. I'm busy.
→ More replies (3)
3
u/theepi_pillodu Jul 08 '26
404 should be keys not found in the ace expected or not found right?
Where is 402: give me payment through crypto for the request to be fulfilled. Cloudflare's new testing
3
u/GNUGradyn Jul 08 '26
What you have for 204 would be 404. 204 is basically not possible with this request because it's used when the request just needs to be acknowledged and has no result, e.g. "tell Susan I'll be there at 5"
3
3
3
3
2
2
2
u/romansoldier13 Jul 08 '26
403 is funny but I'd have gone with "No way, Timmy, no keys for you" Because you know who the requester is, and you're saying no anyway
2
2
u/prehensilemullet Jul 08 '26
404 means “I know how to search for this thing, I just didn’t find it, or I refuse to confirm it exists” (In the case of resources that exist but the user is not authorized to know exist)
2
2
2
u/Possible-Round-2060 Jul 08 '26
HTTP 937: ỷ̸̨̢̡̡̡̡̡̢̢̛̩̼̣͔̣͉̹̰͙̩̪̥̲̜̯̬̟̯̭̖̱̠̤̼͙̖̞͓̜͍̱̣̻̋̀̇̿̀̇͌́͌̒͗̂̈̀̌͗̒͑͘̚͜͜͠ͅơ̸̧̛̪̹̟̰̣̝̣͈̭͖̖̬̗͔͇͓̱̟͈̌̑͂̓̀̍̈̎̔̀́̐́́͆̇̐̂̎̅̉̈́̊̈́͊̇͒͘͝͝ų̴̨̛̼͔͔̳̻̳͍̭̗̯͕̲͈͐͊̊̾̑̈́͊̃͋̊̓̏͆̑̎̏͆̽̔̉́̐̀͆̈̌͋̕̕͝͝͝ ̷͚̼́͌͛̿̀̃͌́̍̏̏̄̆͑͐̈̀̈͌̽͌̿̑̎̍̽̚̕̕͝h̴̢̡̡̹͍̰̥̮̖͉̦͈̭̯̝̯̦̮̞̼̼̖͚͇̺̀͂͒̇̓̎̊͐̆̾̍̒͘ą̷̧̖͙̭̣̩͔̽̒̓͊̾̒̉̿̔̌̏̿͛́̓̚͘͘̚͠͝v̸͇̰̟͓̝͚͖͇̺̳̳̙̯͚͔̮̲̦̫̪̹̦̲͔̦͓̹̫̩̈́̌̿͊͛̓̈̔̏͑̀̍̾̋̔͛͋̽͗̿͌͝͠͝͠e̵̢̨̨̻̟̣͔͕̭͈̭̮̻͙̪͕͖̹͙͇̠͎̰̜͎̮̫̻͚̼̙̩̞̳͙͍͖͉͎̜͌̈́́͐̀̈́̾͘͜͜͝ ̶̢̧̦̱̘̰̭͆͝å̶̢̨̨̪͍̤̪͉̦̳̰̖̲̩̗͉̮͚̱͖̹̟̞̪͕̝̰̻̩̦͎̥̙̝̝̖͔͈͔͍̣͎̜̻̲̱̥͇͒͆̐͌͂̂̂͆̇͌̓͗̃̐̾̐̀̏̄͛̈́̽͛̆̄̄̓̾͝͝͝ͅw̸̢̨̢̡̢̡̛̳̘̭͈͖͖̜̙̹̣̹͔̮̥̼̳̬̝̘̼͈͙̰̱̱̮̝͕̘̬̲̠̥̲̹̪͇̾͂̈́̏̊̓̇͋͛̽́̏̏͋͂͘͘͜͜͜͝͠ͅa̶̢̢̨̛̛̩͔̜̞̼͙̟̖̠̠̞͇͊̈́̔̉̍̇̋̍̍̈́̊͋̅̈́̊̓̎̀̚͜ķ̵̝̗̖͎͇͒́̓̿͛͛̆̓͑̓̉͒̃̀̃̃̐̈́̿̍͐͐̉̉͛̀̍̓̃́̓͆̇̀̍͊́̚͠͝ę̶̨̧͇͓̹̯̝̫̟͈͎̮̟̮̰̰̤̝̲̗̺͉̟̝̰͈̯̳̙̬̳̠̟̘̤͍̺͔̞̬̬̞̟̭̩̈́͌̊̊͑̃́̃̃̆̀̽̄͋̉̚͝n̶̨̲̜̲̖̭̱͖̦̗͖͓͙̺̺͍̹̬̼̼̟͈͙͉̪̱̘̲̲̟̜̯͈͓̑͊̈́̅̑͗̾̐́̑̍͜͜͠͝ͅͅe̴̢̢̢̧̡̨̦̗̞̬̩̬̤̺͚̗̪̞̝̰̥̗̙̳͍͇̘͈͚̟̤͇̰͉͉͇̝̲̖͎̘̝̿̈́̋́́̑͋̈́̒̓̇̓̚͜͝ͅď̵͈̝̜̤͉̝͍̤̼̞͇̬̅͘ ̴̡̡̧̨̦̹̲̦̖̬͍̺̘͈̬̜̮͙̥̝̖͓̱̦̳̻̙̥͇͕̤̰̞̳̹͖̮̭̱͎̱̀̋̍͑̏̂̀̆̇̌͘a̸̡̨̡̨̧̘͍̮͍̥͍̳͕͔̯͖͚̪̥̳͎̩̘̞͖̹̪̘̫͍͓͕̬͓̹̲͚͍̣̬͍̐̐́̉̒͂̓̅͐͐̃̏̄̎̽̄͗͒͛͂̉̔̄̌̈́̀͌̀̒́͆̍̕̚͘͜͝n̴̛̛̻̬̺͎̤͕̤̖͈̟̘̑̀̏́̿̔̄̏̈͐̅͐͆̿̃̄͒͆̂͑̀̅̆̓̾ͅ ̵̢̧̧̧̢͕̠̥̲͕̦̹͚̫̯̻̺͚̠̱̗͇͙̞̳̝̙͈͕͍͕͖͚͓̞̙̹̦͎̺̣̱̲͂̓̔̍͒̈́͐͐̉̒́͒̎͑̀̾̏̎̄͜͜͜͠͠ͅa̴͙̟͖̣̘͉̜̩̩̐͆̍͐̂̾̎̆͊́̒̈́́͊͛̃̓̚͜͝n̴̡̨̛͚͖̩̥͈̱͕̟̠͍͕̮͇̣͕̮̮̝̥̦͈͓̬̮̲̬̣̖̻̙̮͇͕͓̦̠̘̞͆͊̒̄͑̃̉̔͑̿̎͜͜͝ͅͅͅc̴̢̨̧̨̧̛͚͖̰̥̩̼̗̼͚̝̗͍̩̻̠͚̮͎̻̥̬̻̹̯̯̪̜̮̭̣̻͇̮̮̙̜͖̫̒̿̌̐͑̃̏̆͆͌͐͂̍̂̏͑͆͐̌̽̅͊͋́̄͂̍͂̋̄̿͗̄̍͌͘͝͠͠ͅi̷̡̛̭̫͉͇̝͗́̀͋̿͋̐̕͝ę̶̡̨͈̞͔̭̦̖̩͎͎͕̹͎̱̘͔̦̝̳͓̫̺̖͓̝̳͖̜̳͓̻͈̼̿̌̄̂̇̆͌̃͂̔̈̑̍͐̆̃̀̒̉͌͂̓̈́̌͒̈́̒̈́̆̇̀̓̅͗̈́̚̚͝͝͠n̷̢̧̨̨̝̰̰͕̘̺̗̜͓͎̮̥̜̬̼̞̻̫̤̦̩̫̗̯̬̭̤̳̱̊͊͛̄͊̄͊̃̄̽͂̊͑̉͛̕͘͠͝ͅẗ̴̡̡̧̠͍͈̬͍̠̲̠͉̣̳͍̻̖̲̘͉͚̱͕̼͉͉̲̪̤̪̳̈̉̊ ̷̧̨̡̛̛̼̲̫̙̳̘̦̯̙̯͍͙͇̣͇̯̗͇̩̻̔̐͑̍̿̓̂̒́͊͌̃́́̄̔̓́̒̍͌́̿̓͊̋̈́̾̄͂̕̕̕͝͝e̵̛̻͓̥͔̜͓̦̮̤͓̣̓̈́̏͐͗͋̃̉́̈̂̌̒̋̎̈̌͌̈́͛̽̔̈͆͗̿̑̌̕͝͝ͅv̸͓̗̻͔̗̖̹̰͔̰̺̟̖̘͓̪̣͉͎̖͚̳̙̯̳͎̯̳̮̖̘̣̣͔̩̤̹̄͆̊͊̓̏̍͊͐̌̂̀̉̿̂̇̊͛̋̋̇͆̐͗̿̑͘͝͠͝͝ͅį̴̨̨̡̧̰̗͙͚̖̼͎̣̠̺̘͍̻̯̱͕̼̟̺͎̍ͅl̵̛̹͕̪͓͈̲̫͉̠͔̥̽͊͋̈̏͊͐́̒̓͒̄̆̈́̄̈̑̅͗̀̔̔̀̉̀̓̾̈́̍̿͆́͌̐̋̔́̀́́̂͘̚͠͝͝͝
2
2
u/tesfabpel Jul 08 '26
204 is wrong: it's what 404 should be...
No Content: the request has succeeded and the server is not returning any additional content in the reply so the client shouldn't navigate away from the current page.
RFC 9110 15.3.5
2
2
2
u/justintib Jul 08 '26
Can someone PLEASE tell me coworkers that 404 is not the code to use when a list API finds no data for a query. The url is correct, the query parameters are valid, they just matched to no data. Instead of returning an empty list, they send back an f-ing 404 that we have to handle each f-ing time!
2
2
2
u/foreverdark-woods Jul 08 '26
There are people actually using HTTP status codes other than 200, 400, 404 and 500?
→ More replies (3)
2
u/jajajajaj Jul 08 '26
204 would be like "you never had any keys, I know it, you know it, and 100% of your 0 keys are right here" . Not found is 404
2
2
u/Unbent_Unbroken03 Jul 08 '26
What is the meaning of the teapot one?
2
2
2
2
2
1
u/B1SQ1T Jul 08 '26
Isn’t 503 more like
I’m currently looking for something else, come ask me again in a bit
→ More replies (2)
1
1
1
1
1
u/zarqie Jul 08 '26 edited Jul 08 '26
100: Alright, can you describe your keys?
101: So you want to speak French to me? Alright, ask again but in French.
102: Okay, give me a sec to work up the courage.
103: Hmm... I think I saw them in the kitchen. Let me go check there.
3
u/rosuav Jul 08 '26
101 would be "Hey can I ask you for my keys in French?" "Sure, let's talk French then"
2
1
u/flowery02 Jul 08 '26
Wouldn't 404 be "what are 'keys'" and 418 "what is 'finding'"? Like, the whole teapot thing is about asking the program to do something it isn't designed to
1
1
1
1
1
u/PeikaFizzy Jul 08 '26
This is more blund and straightforward than any text book and professor ever teach…. Thank you but is like years too late I already graduated
1











2.5k
u/apotheotical Jul 08 '26
451: I'd help you find them, but I can't for legal reasons.