User:Cjones/ISSUE-196
ISSUE-196: No change for User Agent HTTP response handling behaviour
Summary
This is a change proposal advocating for the resolution of ISSUE-196 by means of no-change in the HTML specification.
Rationale
The issue was raised in response to concerns over specific handling of some 2xx Success HTTP response codes by User Agents. Through investigation while there may be some divergent behaviour with regards to individual implementations, the HTTP specification currently provides the definition of expected User Agent behaviour and as such these implementations should be regarded as non-conformant HTTP agents and not non-conformant HTML implementations.
The HTML specification does not impose conformance requirements on the implementation of HTTP engines in the same manner that HTTP specification does not impose conformance requirements on the implementation of HTML engines. This would invariably introduce a state of inter-dependence between the specifications and deteriorate the otherwise principal authority of the HTTP protocol and its specification process to to define and control the standardization, interoperability and further advancement of the protocol.
Details
- Identified divergent behaviour of User Agents should be raised within the HTTP specification process for greater clarity or User Agent bug reporting processes for highlighting non-conformant behaviour for correction.
Impact
Positive Effects
- The specification does not introduce or impose additional restrictions on HTTP processing specifically within the context of HTML
- The HTTP specification is maintained as the single authoritative source for conformant behaviour or otherwise
Negative Effects
- The may be some HTTP status codes which require further specification for the effective realization of their benefits and this is reliant on the success of external standardization and User Agent bug processes
Conformance Classes Changes
- None
Risks
- User Agents continue to display divergent behaviours due to the lack of specificity in the HTTP specification requiring servers to either customize their response based on snooping HTTP headers or tunneling all responses through predictable behavioural status codes
References
- Browser HTTP Response Handling Tests [1]
- Bug 10671 - consider adding support for PUT and DELETE as form methods [2]
- ISSUE-196: Define user agent http response handling behaviour [3]
- Hypertext Transfer Protocol -- HTTP/1.1 [4]