New HTTP status codes
rooftopsolutions.nl
rooftopsolutions.nl
It'll be interesting to see if browser vendors and captive portal vendors both implement this, and what level of adoption they both reach.
[1] - http://convergence.io/
When I finally reached the content on google's webcache I was pleasantly surprised. All these new status codes are not only useful, but they address issues that exists today.
In particular, look at the first one: 428 Precondition Required. This is essentially the server saying to the client, "You don't know how to make requests to me." What is the client supposed to do about it? Make requests that can result in the desired responses, of course, or stop making requests. But that's true of any 4xx response code. So what functionality does the new 428 code add? None that I can see.
If you click through to the RFC itself, the section on 428 says:
Responses using this status code SHOULD explain how to resubmit the
request successfully.
It then gives an example of an HTML body representing a human-readable message that explains that "If-Match" should be used. Fine, that's good. I approve. But every HTTP response comes with a body; we can already do this just fine without having code 428.So, again, what actual functionality does the 428 response code get us? It results in a bit of new code being added to every web client, making them all just a teensy bit more complicated. But to what end?
"This is not the real world, this is the IETF."
Um...send a proper request? This seems like a perfectly fine code to me. Suppose you have an HTTP request that takes two parameters and the client only sends one of them. Which of the other existing 4xx codes would be appropriate for that situation? "400 Bad Request" is probably what you'd use currently, but as defined it indicates a syntactic error with the request rather than a semantic one.
the ones of mention are those that say '(draft)' after them: 428, 429, 431, 511
I'm bias as this is my site, but I prefer it because you can link to each code and it doesn't rely on javascript affects to display the data, also a memorable URL :-)