R – How do different browsers handle caching for static content without an Expires Header

browserhttpperformance

After running the YSlow plugin on a site, I saw that one of the recommendations was to add far future expires headers to the scripts, stylesheets, and images.

I asked a different question about how to set this up in IIS, but I am actually just curious about how each browser behaves.

I have read that IE will cache items per browsing session, so once you reopen the site after closing the browser, it will need to reload all of the content. I believe that Firefox will go ahead and set a expiration date on its own. I have also heard that IE does not cache at all when connecting over HTTPS. I am not sure if these are at all accurate, though, and was wondering if someone could clear up any misconceptions I may have. Thanks!

Best Answer

You are right about Firefox setting its own expiration date. See the second item in this blog post:

http://blog.httpwatch.com/2008/10/15/two-important-differences-between-firefox-and-ie-caching/

IE, like Firefox, can cache HTTPS based content. However, you need to set Cache-Control: public for persistent caching across browser sessions in Firefox. See Tip #3 in this blog post:

http://blog.httpwatch.com/2009/01/15/https-performance-tuning/