My apologies in advance if this turns out to be a novice question. At the moment, my main frustration/oblivion stems from the absolutely confounding nature of performing a search for my particular problem.
I am using a variety of htaccess rules to ensure that my css, css images, and javascript files are caching. Based on the header response(s) I'm getting in my Firebug net panel, I am led to believe that this method is working.
What I'm after--past that successful caching, mind--is a way to prevent global site elements (header, menu, etc.) from redrawing when navigating from page to page. This phenomenon is expressed beautifully by the following sites:
jessicahisch - dot - com is also a prime example.
Note that upon clicking from section to section, post to post, anywhere to anywhere (with the same global layout), the only portions of the page that refresh/redraw are the items unique to that target page.
Typically I would chalk it up to browser-specificity (for example, Safari spoofs this phenomenon fairly well, regardless of the developers' implementation method, while Firefox seems to be a bit less forgiving), however, these two sites in particular are absolutely consistent in their page-to-page loading schema.
In my own site example, it is a crapshoot. Just when I think it's working the way I want, I will get a page reload/redraw/rebuild. Investigating the NET panel shows that this happens whether or not my external CSS/Image resources are loaded or not.
I have included the rules I'm using in my htaccess files for reference.
Many thanks in advance for help with this tricky question. While an answer is much appreciated, even suggestions for how to search for this issue effectively on the net are welcome.
#### CACHING ####
# YEAR
<FilesMatch "\.(flv|gif|jpg|jpeg|png|ico)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
# WEEK
<FilesMatch "\.(js|css|pdf|swf)$">
Header set Cache-Control "max-age=604800"
</FilesMatch>
# 10 minutes
<FilesMatch "\.(html|htm|txt)$">
Header set Cache-Control "max-age=600"
</FilesMatch>
# DONT CACHE
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header set Cache-Control "private, max-age=0, must-revalidate"
Header set Connection "keep-alive"
# Header set Pragma "cache"
</FilesMatch>
<FilesMatch "\.(ico|pdf|flv|jpg|JPG|jpeg|png|gif|js|css|swf)(\.gz)?$">
Header set Expires "Thu, 15 Apr 2012 20:00:00 GMT"
Header unset ETag
FileETag None
</FilesMatch>
# enable expirations
ExpiresActive On
# expire GIF images after a month in the client's cache
ExpiresByType image/gif A2592000
# HTML documents are good for a week from the
# time they were changed
ExpiresByType text/html M604800
# expire CSS images after a month in the client's cache
ExpiresByType text/css A2592000
RewriteRule css[\.][0-9]+/(.*)$ css/$1 [L]