Multiple caching solutions for anonymous and logged in users with SSI on

Ed W lists at
Tue Mar 6 16:46:03 UTC 2012

On 05/03/2012 03:20, Quintin Par wrote:
> So in the same location directive, *how can I apply an additional 
> caching strategy with SSI on*(users name details which needs to be 
> pulled up every time) for logged in users. Say cache pages for logged 
> in users for a minute with caching for non logged in users at 15 
> minutes. I also want
>       proxy_cache_bypass       $cookie_sessionid;
>     to refresh cache entries.
>     I believe this is scenario for a lot of websites out there.

In theory GET is designed to be idempotent, therefore whilst it's 
desirable to customise pages per user, you quickly get tied in knots, as 

Can you
a) Make the URLs different for logged in and non logged in users? Then 
the problem goes away.  eg user sees site at http://profile/myname or 

b) Use client side features to customise the page, ie write the username 
to a cookie (sounds like it's done already).  Then use client side 
javascript to customise the page for each request.  In this way each 
page is absolutely identical, any modifications are done client side.  
Frequently it can be designed to fail gracefully in the case of disabled 
javascript, etc

I think that whilst this has some compromises, if you can accept those 
then you end up with a MUCH simpler application and simpler caching?

Good luck

Ed W

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the nginx mailing list