[Catalyst] Re: modules for conditional GET ?

Bill Moseley moseley at hank.org
Mon Jan 18 15:52:50 GMT 2010

On Sun, Jan 17, 2010 at 11:35 PM, Dami Laurent (PJ) <
laurent.dami at justice.ge.ch> wrote:

> Indeed, this is exactly what I want to do. The app has a config file (not=
> Catalyst
> config file, but another file having to do with business logic), and some
> super-users
> have a mechanism for hot uploading of a new config to the server, at any
> time.
> A few app pages are expensive to compute, and they depend on the client a=
> on that config file. So clients should keep asking for those pages at each
> request, and depending on the If-Modified-Since header and on the timesta=
> for the config file, the server can decide if it's worth recomputing the
> page for that client, or rather send a cheap 304 Not Modified.

Be careful about using timestamps if you are running multiple web servers
behind a load balancer (or may expand to where you will be behind a
balancer).  Here's a read on Etags:


For resources such as css, js, images I tend to create URLs that include an
md5.  Those include cache headers that don't expire and thus when the
content changes the URL changes.

I have also done that with text/html pages, but it's less common.  For a
config file you can send the config through Object::Signature to get an
md5.  You could recalculate and cache that whenever a new config is

For "static" pages (for non-logged in users) the pages tend to get cached
for some number of minutes as it's not critical that a change is seen
exactly the same time by all users.  Dynamic content is not cached, of
course, but elements of the page may be cached in memcached.

-- =

Bill Moseley
moseley at hank.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20100118/681ef=

More information about the Catalyst mailing list