Caching's Got Me Completely Confused

HTML, CSS and anything else that deals with client side capabilities.

Moderator: General Moderators

Post Reply
cesarcesar
Forum Contributor
Posts: 111
Joined: Mon Oct 18, 2004 3:28 pm

Caching's Got Me Completely Confused

Post by cesarcesar »

Cache headers have me completely confused. I have been researching them for a few days now and for some reason I just cant wrap my head around how to do it right (for my needs). I now turn to you o great forum gods.

My quest for knowledge all stared after reading this page (and others), http://www.askapache.com/htaccess/apach ... ntrol.html and the pages in the "Easy Apache Speed Tips Articles" section. While I know this forum is not about Apache, the topic of discussion is headers and I believe that falls here.

My goal is for all objects (images, js, css) in my page to get cached by the browser. Then when the object has been updated on the server and the next time a browser views the object, the new object is downloaded. Yes I know this all sounds basic, but which header to use and how to set it is whats confusing me.

To make my confusion worse, I cant seem to wrap my head around how the headers in the HTML set caching properties for every object in the page. Maybe im just looking too much into it and that's just how the process of caching works.

From the suggestion of this page, http://www.askapache.com/htaccess/apach ... ssion.html I have set my .htaccess file as below. Is it wrong? Below that is my current headers from my HTML page. Do I even need those in there if its set in the .htaccess? So confused...

Code: Select all

#####################################################
# CONFIGURE media caching - http://www.askapache.com/htaccess/apache-speed-compression.html
#
Header unset ETag
FileETag None
<FilesMatch "(?i)^.*\.(ico|flv|jpg|jpeg|png|gif|js|css)$">
Header unset Last-Modified
#Header set Expires "Fri, 21 Dec 2012 00:00:00 GMT"
Header set Cache-Control "max-age=604800, must-revalidate, public, no-transform"
</FilesMatch>
#
#####################################################

#####################################################
# CONFIGURE media caching - http://www.askapache.com/htaccess/apache-speed-compression.html
#
<IfModule mod_deflate.c>
<FilesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>
</IfModule>
#
#####################################################

Code: Select all

<meta http-equiv="expires" content="Fri, 21 Jan 2011 00:00:00 GMT">
<meta http-equiv="Cache-Control" content="public">
So in final i guess my question is, how do i set the most effective headers in my HTML or better my .htaccess file to achieve the fastest page load speed? How do I insure users are always getting the most current version of a file. Thanks for reading this and the time to respond.

Cesar
User avatar
Weirdan
Moderator
Posts: 5978
Joined: Mon Nov 03, 2003 6:13 pm
Location: Odessa, Ukraine

Re: Caching's Got Me Completely Confused

Post by Weirdan »

Is it actually static html file or html output generated by some server-side language/framework like PHP, RoR or Python?
cesarcesar
Forum Contributor
Posts: 111
Joined: Mon Oct 18, 2004 3:28 pm

Re: Caching's Got Me Completely Confused

Post by cesarcesar »

Not sure what you mean by "generated", but the pages are PHP (w/ includes)
Post Reply