Could it be that there is so much software hardcoded to look for "HTTP/1.1" that a "HTTP/1.2" string would break them all?
Could it be that there is so much software hardcoded to look for "HTTP/1.1" that a "HTTP/1.2" string would break them all?
> Default charset of ISO-8859-1 has been removed
> The 204, 404, 405, 414 and 501 status codes are now cachable.
> The Location header can now contain relative uri's as well as fragment identifiers
I get failures in Chrome and IE. Firefox passes if I click OK in a funny dialog.
308 preserves the HTTP verb[1], and the form on that page uses POST. POST is not idempotent[2], which means using it more than once with the same parameters may not yield the same output. For example, POSTing this comment form twice would append to the resource twice; as opposed to GETing twice which just returns the resource unmodified both times.
Firefox correctly (under the old RFC for a 301 redirect[3]) asks for confirmation before automatically repeating a request that is not guaranteed to be safe to repeat. Some implementations will instead convert the request into a GET, which is why 308 was needed in the first place.
[1]: http://tools.ietf.org/html/rfc7238#section-3
[2]: http://tools.ietf.org/html/rfc2616#section-9.1.2
[3]: http://tools.ietf.org/html/rfc2616#section-10.3.2
Edit: links
The reason confirmation is asked is because the user might not wish to apply the action to the new URI. (Codified as "safety" in the new 1.1.)
Sources: your links and http://tools.ietf.org/html/rfc7231#section-4.2.1
So, this new "HTTP/1.1" feature broke my existing (old-)HTTP/1.1 chrome browser!
If they had called it HTTP/1.2 they could send a non-308 redirect to HTTP/1.1 clients and 308 to HTTP/1.2.
Instead, we now have servers and clients both speaking "HTTP/1.1" (whatever that is this week) not able to interoperate.
Poor job.
Section 6 of [RFC7231] requires recipients to treat unknown 3xx
status codes the same way as status code 300 Multiple Choices
([RFC7231], Section 6.4.1). Thus, servers will not be able to rely
on automatic redirection happening similar to status codes 301, 302,
or 307.
Therefore, initial use of status code 308 will be restricted to cases
where the server has sufficient confidence in the client's
understanding the new code or when a fallback to the semantics of
status code 300 is not problematic.We'll see how well that goes.