- From: Javier Godoy <rjgodoy@hotmail.com>
- Date: Sat, 3 Nov 2007 17:48:13 -0300
- To: <ietf-http-wg@w3.org>
Though I do not have enough authority as for involving in this issue (after several gurus have supported the opossite resolution to this issue), I would like to share my point of view about it. I agree that listing all supported MIME types in each request makes no sense now-a-days, at least for fully-featured web-browsers (where the 'active content' approach fits better, or where there is a user interface and the preferred variant may be choosed before the request is submitted). From the server side, I recall that some programming API (such as Java Servlets 2.5) do not provide an easy handling of the Accept-* header (they left up to the programmer the parsing of alternatively accepted tokens and sorting them according to the related q values), thus encouraging Accept to be ignored. However, I think that an Accept header may still be useful in other contexts such as web services, where no active-content may be deployed and where the client is also a process running without human supervision. For instance, suppose there is a web-service that provides information as XML (application/xml) conforming an implementation-specific schema, then the service is enhanced for providing the same information as RDF (application/rdf+xml), while keeping the XML variant for compatibility issues. Of course, these services may negotiate the content in a non-standard way, but I think it is better to keep this feature standardized (just for using it when it is meaningful). Therefore, instead of deprecating Accept (which is a too drastic decision), it might be regarded as OPTIONAL (on the server-side) because "one vendor may choose to include the item because a particular marketplace requires it or because the vendor feels that it enhances the product while another vendor may omit the same item." (RFC 2119). This rewording conforms the currenct implementation practice, and I think it is enough for "make it clear to people reading the spec that it doesn't really work that way in practice". Furthermore, if the Accept header is not removed from the revised HTTP specification, the requierment level of a 406 response when the "Accept" header can not be satisfied (currently it is a "SHOULD" as per section 14.1) must be replaced by "MAY" since clients are prepared for receiving content whose type was not included in the Accept header, and if the server does not support negotiation based on content-type, they usually ignore the Accept header (i.e they behave as if Accept: */* were specified, instead of replying with a 406 status code). In this situation, the "valid reasons in particular circumstances" (RFC 2119) are too common, then it fits better as a "vendor decision". Regards Javier Godoy
Received on Saturday, 3 November 2007 20:48:29 UTC