One of the most irritating bugs in client libraries is if they hard-code 1xx behavior to particular numbers, rather than treating the entire range uniformly.
This makes it easy to desync, though since it's not the server end it's rarely as catastrophic.
To fix this, servers need to start returning bogus 199 Fix Your Client headers before a random fraction of all real responses.
It's a great idea to blog through a "mundane" thing like this. You learn alot and have an impetus and won't run out of ideas to blog. There is always another status code! You could do the same with other things. E.g. programming languages or whatever.
Title should probably be updated to include the fact that this is from 2018 (relevant as this series has been completed as opposed to having just been started)
Correct (and already done by now). Just a few days ago, there was the remarkable example that Cloudflare wants to use the code 402 (payment required) to keep AI crawlers away or ask them to pay. I still think it's a great idea, hopefully something will come of it.
Dang these are much more useful than my first port of call for looking up http codes... which is http.cat/<code>. It's a shame you have to know what a code is to get to it... e.g. /404-not-found works instead of /404
This makes it easy to desync, though since it's not the server end it's rarely as catastrophic.
To fix this, servers need to start returning bogus 199 Fix Your Client headers before a random fraction of all real responses.
https://github.com/python/cpython/pull/117611
https://news.ycombinator.com/item?id=44432385
https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/...
You don't need to know the name. You can increment the URL directly as well
Seems to work :)
Sorry bad joke.