How do you handle browser cache with login/logout?

Posted by Julien on Stack Overflow See other posts from Stack Overflow or by Julien
Published on 2010-03-08T06:29:18Z Indexed on 2010/03/08 6:36 UTC
Read the original article Hit count: 340

To improve performances, I'd like to add a fairly long Cache-Control (up to 30 minutes) to each page since they do not change often. However, each page also displays the name of the user logged in (like this website).

The problem is when the user logs in or logs out: the user name must change. How can I change the user name after each login/logout action while keeping a long Cache-Control?

Here are the solutions I can think of:

  • Ajax request (not cached) to retrieve and display the user name. If I have 2 requests (/user?registered and /user?new), they could be cached as well. But I am afraid this extra request would nullify my caching performance-wise
  • Add a unique URL variable (?time=) to make the URL different, and cancel the cache. However, I would have to add this variable to all links on my webpage, not very convenient code-wise

This problems becomes greater if I actually have more content that is not the same for registered users and new users.

© Stack Overflow or respective owner

Related posts about web-development

Related posts about Performance