Hi,

Something that is not entirely clear is what TTL content should have in
caches that Shindig uses when that content is fetched through the openproxy
with a refresh=<ttl> param set.

The refresh=<ttl> forces the HTTP headers on content returned by Shindig to
have an expiration of at least <ttl> in seconds. This is done by massaging
the values in the Pragma, Expires and Cache-Control HTTP headers and works
great. What this doesnt do is control how shindig should fetch the
referenced content in the first place and how it should cache it. Currently
Shindig HTTP caches strictly respect the HTTP headers on the content
returned from the 3rd party. In the fairly ad-hoc world of gadgets many
developers dont set cache-headers on the images, scripts etc that their
gadget uses or their hosting provider doesnt allow them to control it, in
these kinds of situations having Shindig make an HTTP request to the 3rd
party every time it receives a request on the proxy can be a VERY BAD THING.


I'd like to propose that Shindig content caches MAY force a minimum TTL to
that specified in the refresh param if that content is fetched through the
open-proxy. Given that Shindig is essentially providing a CDN for developers
this seems like reasonable functionality to allow the container to enforce.
Ill make a patch that enables this behavior and also makes the default
Shindig HTTP cache have this behavior.

-Louis

Reply via email to