- From: Henrik Frystyk Nielsen <frystyk@w3.org>
- Date: Sun, 06 Jul 1997 21:42:05 -0400
- To: Koen Holtman <koen@win.tue.nl>
- Cc: http-wg@cuckoo.hpl.hp.com
At 09:00 PM 7/4/97 +0200, Koen Holtman wrote:
>I tried to make sense of your message, but I have no idea which
>changes in the text you are actually proposing. Could you just post
>the changes?
Sorry if it was not clear - here are the raw changes. For a discussion,
please see the previous mail at
http://www.ics.uci.edu/pub/ietf/http/hypermail/1997q3/0038.html
These are the suggested changes regarding the problems in content-encoding
and accept-encoding as described in
http://www.w3.org/Protocols/HTTP/Issues/#CONTENT-ENCODING
1) In section 3.5 (Content Codings), add this after the item for "deflate"
identity The default (identity) encoding; the use
of no transformation whatsoever. This
content-coding is used only in the
Accept-encoding header, and SHOULD NOT
be used in Content-coding header.
2) Modify section 14.12 (Content-Encoding), by adding (to the end of the
section)
See section 14.3 for more requirements concerning the use of
Content-Encoding.
When an HTTP/1.1 server or proxy sends a response with a
Content-Encoding header, [[and that header specifies a content-coding
other than "gzip" or "compress",]] and the corresponding request was
either
(1) received from a client whose version is lower than HTTP/1.1, or
(2) received with a Via header indicating that it was forwarded
by a proxy whose version is lower than HTTP/1.1, and the response
does not already include an Expires header, then the sender
SHOULD include an Expires header whose field-value is identical
to the field-value of its Date header. (This prevents improper
caching of encoded responses by HTTP/1.0 proxies.)
3) Modify section 13.5.2 (Non-modifiable Headers) to replace this:
A cache or non-caching proxy MUST NOT modify any of the following
fields in a request or response, nor may it add any of these fields
if not already present:
o Content-Location
o ETag
o Expires
o Last-Modified
with this:
A cache or non-caching proxy MUST NOT modify any of the following
fields in a request or response, nor may it add any of these fields
if not already present:
o Content-Location
o ETag
o Last-Modified
A cache or non-caching proxy MUST NOT modify the following
field in a response
o Expires
but it MAY add it if not present; if so, it MUST be given
a field-value identical to the field-value of the Date header
in that response.
I.e., we allow a proxy to add Expires if it has the effect of
making a response non-cachable.
4) Change section 14.3 with this
14.3 Accept-Encoding
The Accept-Encoding request-header field restricts the set of
content-codings (defined in section 3.5) that are acceptable for
the response.
Accept-Encoding = "Accept-Encoding" ":"
#( codings )
codings = ( content-codings | "*" )
An example of its use is
Accept-Encoding: compress, gzip
The content-coding(s) of a response MUST be indicated by a
Content-Encoding response-header (section 14.12), unless the
"identity" content-coding is the only one used.
If no Accept-Encoding field is present in a request, the server
MAY assume that the client will accept any content coding.
[[However, if the available representations use content-codings
including the "identity" content-coding, and the client does not
specify an "Accept-Encoding" field, then the server SHOULD use the
"identity" content-coding; if all available representations use a
non-identity content-coding, then preference should be given to
those content-coding(s) commonly understood by older user agents,
or known to be understood by the particular user agent that
initiated the request.]]
If an Accept-Encoding header is present, and if the server cannot
send a response which is acceptable according to the Accept-
Encoding header, then the server SHOULD send an error response
with the 406 (Not Acceptable) status code.
The special content-coding "*", if present in the Accept-Encoding
field, matches every content-coding not matched by any other
content-coding present in the Accept-Encoding field.
An empty Accept-Encoding value indicates that only the "identity"
content-coding is acceptable.
The text between '[[' and ']]' can be moved to a compatibility appendix,
which probably makes more sense.
Henrik
--
Henrik Frystyk Nielsen, <frystyk@w3.org>
World Wide Web Consortium
http://www.w3.org/People/Frystyk
Received on Sunday, 6 July 1997 18:45:17 UTC