Re: Suggestion: Add Cache-Control extensibility to Vary header

Henrik Frystyk Nielsen:
>
>
>By adding the Cache-Control header extensibility mechanism (14.9.6) to the
>Vary header, I believe that we make caches much more robust to extended
>content (or feature) negotiation than by having the current definition of
>Vary.

[....]

>	HTTP/1.1 200 OK
>	Protocol: {http://some.org/a-required-extension {str "req"}},
>		   {http://some.org/an-optional-extension {str "opt"}}
>	Vary: Protocol, "http://some.org/a-required-extension"
>	Content-Type: text/plain

In stead of 

 Vary: Protocol, "http://some.org/a-required-extension"

you can just as well use

 Vary: Protocol
 Cache-control: vary-protocol="http://some.org/a-required-extension"

or something, so there is no need to revise the Vary syntax: just use the
extensible cache-control syntax to convey your extra directive.

You can also use the following hack, which will get you what you want even
under the current HTTP/1.1 spec.  If you have multiple protocol headers but
only want caches to vary on one, include an extra header like

Proto-Vary: {http://some.org/a-required-extension {str "req"}}

in the response, and send "Vary: proto-vary" in stead of "Vary: protocol".
Strange, but fun.  Of course, you would usually want to have a shorter
encoding in the above proto-vary header.

>Henrik

Koen.

Received on Sunday, 16 March 1997 10:22:45 UTC