On Sat, Nov 15, 2008 at 1:25 PM, Jim Roskind <
j...@chromium.org> wrote:
> The SDCH spec does not appear to intimately link an URL to a single
> dictionary. Specifically, based on my reading of the spec, a single URL can
> be used to retrieve numerous dictionaries at the same time! Not just
> sequentially (replacing previous dictionaries) [...] As a result, cache info
> about an URL containing a dictionary does not seem related to whether a
> dictionary should be preserved (or discarded during a disk-cache eviction
> for the potentially reusable URL).
Isn't it possible for the server to return different sets of cache-
control
headers for different dictionaries corresponding to the same URL? The
cache-control headers describe the individual response, not the URL,
or am I
mistaken?
> IMO, it would in contrast be a good idea to have a 1-1 relationship between
> dictionaries and URLs, and in fact naming conventions standardizing on this
> would probably be a positive direction. That would put us in a better
> position to use the cache control directives, and deprecate this max-age
> field.
I would prefer to have a looser restriction: that there be only one
*currently
advertised* dictionary per URL -- advertised by the server using
Get-Dictionary, and advertised by the client using Avail-Dictionary.
If a
new dictionary were advertised for the same URL, it would be
implicitly
recognized as a newer version of the same resource. The client could
then
unload the dictionary once all responses that referred to that
dictionary
had completed.
This discussion underscores the need to add a Delete-Dictionary
response
header to the SDCH specification. If a dictionary needs to be
unloaded from
the server unexpectedly, expiration headers will not suffice to inform
the
client that the dictionary is now invalid and should be removed from
memory,
disk, and Avail-Dictionary headers.
Saludos,
lincoln