- From: Roy Fielding <fielding@beach.w3.org>
- Date: Wed, 13 Sep 1995 23:37:50 -0400
- To: Larry Masinter <masinter@parc.xerox.com>
- Cc: http-wg%cuckoo.hpl.hp.com@hplb.hpl.hp.com
>The number of attributes a server *could* send for a particular >document is nearly infinite; images could be selected on size and >pixel depth; audio streams on compression methods, data rate or bits >per sample; postscript files on version, use of color, etc. > >406 responses might be able to characterize these when the service >doesn't perform any conversion, but 'accept' style negotiation works >better in other circumstances. I disagree. In practice, conversion is never supplied since it is always more scalable, and the result better tuned to the user environment, to perform the conversion at the client end. Thus, client capabilities increase at a high rate while server implementations remove functionality whenever possible. When multiple variants are provided, they tend to fall into a spectrum for each platform (i.e., GIF, JPEG, and TIFF would be the scope of image formats for general purpose images; HDF and a couple others for scientific images, etc.). In all cases, reactive content negotiation on the few URLs that allow variants is far more efficient than preemtive negotiation on all URLs. Now, if you do the smart thing and make the negotiation response a URC format, then you also get location independence for free. >Let me suggest again "accept-parameter: <parameter><rel><value>" >where <parameter> is a parameter to a number of media types (e.g., >charset), <rel> is a relation operator (e.g., =), and <value> is a >value specifier consistent with <rel>. > >This will apply 'to all accepted media types for which the parameter >applies', and the q value operates by modifying the q of the original >media type. (If revisedq = f(mediaq, parameterq), I'm not sure what f >should be, but I think 'product', e.g., revisedq=mediaq * parameterq. And let me point out again the two flaws with this proposal. 1) There are no common media type parameters other than charset and boundary (and the latter is not negotiable). 2) When media types do use the same name for a parameter, they may have entirely different meaning or have incompatible domains. One obvious example is the "level" parameter. Therefore, you cannot negotiate on a parameter other than charset without first tying it to the media type which defines it. ....Roy T. Fielding Department of ICS, University of California, Irvine USA Visiting Scholar, MIT/LCS + World-Wide Web Consortium (fielding@w3.org) (fielding@ics.uci.edu)
Received on Wednesday, 13 September 1995 20:39:33 UTC