html
html copied to clipboard
Multiple Refresh headers
When you have
Refresh: 0
Refresh: hi
should that be treated as 0,hi or an error? Most browsers treat it as the former, but at least for Firefox that's inconsistent with Location.
Filed https://bugzilla.mozilla.org/show_bug.cgi?id=1387032 to figure out Mozilla's position.
Possibly relevant spec references: HTTP/1.1 prohibits senders from generating headers with duplicate names "unless either the entire field value for that header field is defined as a comma-separated list [i.e., #(values)] or the header field is a well-known exception [i.e., Set-Cookie]", but provides no guidance on what recipients of such malformed messages should do. HTTP/2 allows but does not require servers to generate a response, but requires clients to reject malformed responses (which include those with header errors).
Since Refresh doesn't make sense as a comma-separated list, treating extra assignments as errors seems logical.
So I can't find a definiton of refresh (though the dom code supports it).. I suggest you define it, and then we can treat it like location
Step 9 of https://html.spec.whatwg.org/#initialise-the-document-object defines it, but currently multiple headers is an open issue.