I have .htaccess set up to expire js and css files after 7 days. ETag is turned off, and gzip / Deflate is turned on.
In my source HTML there are 25 different calls to load JS files. Not my design. Here is an example of one of those calls:
<script type="text/javascript" src="content/vendors/jquery/rater/jquery.rater-custom.js"></script>
The response header from inspection via Firebug:
HTTP/1.1 200 OK
Date: Sun, 20 Jan 2013 23:35:42 GMT
Server: Apache
Last-Modified: Sun, 20 Jan 2013 22:49:10 GMT
Accept-Ranges: bytes
Cache-Control: max-age=604800
Expires: Sun, 27 Jan 2013 23:35:42 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 648
Keep-Alive: timeout=1, max=95
Connection: Keep-Alive
Content-Type: application/x-javascript
There are also a ton of CSS references. The page is extremely slow and I am trying to get caching to work, to speed it up. On IE 9 and Chrome after the first load, this page will render almost instantly…I can tell all these files are being pulled from the cache in those browsers.
On FireFox I cannot get the browser to use the cached copies. Any idea what I am missing or what could be going on that is forcing FireFox to request fresh copies of these files every single time the page is reloaded?
Have you checked your Firefox configuration? Sometimes people deactivate caching for development reasons, for example via the Developers Toolbar…