Re: ISSUE VARY: Proposed wording

Proposed changes to Section 14.43, 1st paragraph:

RFC2068:

    The Vary response-header field is used by a server to signal that
    the response entity was selected from the available representations
    of the response using server-driven negotiation (section 12).
    Field-names listed in Vary headers are those of request-headers.
    The Vary field value indicates either that the given set of header
    fields encompass the dimensions over which the representation might
    vary, or that the dimensions of variance are unspecified ("*") and
    thus may vary over any aspect of future requests.

Henrik proposed:

    The Vary response-header field is used by a server to inform caches
    (see section 13.6) that the response entity was selected from the
    available representations of the response using server-driven
    negotiation (section 12). Field-names listed in Vary headers are
    those of request-headers. The Vary field value indicates either the
    set of request-header fields encompassed by the dimensions over
    which the representation vary at the time of the response, or
    leaves the set unspecified ("*").

I think this change leaves the last sentence somewhat vaguer than the
original.

Also, I agree with Koen that the important issue is not what determined
the representation when the response was generated, but rather whether
the cache can autonomously respond to a subsequent request.  I.e., if
the origin server allows a Vary-ed response to be cached without
revalidation until time T, then it must be the case that all of the
factors that determine the appropriateness of the response are known to
the cache, at least until time T.

How about
    The Vary field value indicates the set of request-header fields
    that fully determines, while the response is fresh, whether a cache
    may use the response to reply to a subsequent request without
    revalidation.  For uncachable or stale responses, the Vary field
    value advises the user agent about the criteria that were used to
    select the representation.  A Vary field value of ``*'' implies
    that a cache cannot determine from the request headers of a
    subsequent request whether this response is the appropriate
    representation.

I know this is a little longer than the original, but I think
it is probably less ambiguous.

-Jeff

Received on Wednesday, 9 July 1997 18:13:46 UTC