cesarcesar Posted January 18, 2011 Share Posted January 18, 2011 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/apache-speed-cache-control.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/apache-speed-compression.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... ##################################################### # 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> # ##################################################### <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 Quote Link to comment Share on other sites More sharing options...
SuperBlue Posted January 19, 2011 Share Posted January 19, 2011 This is totally unnecessary, since most hosts dose this by default. Its only server-sided scripts you have to set the caching headers for, which is easily done using the etag and if-modified-since HTTP headers. The meta tags you mentioned are practically useless. Its best to make sure your server handles the validation properly, which most servers already do for static content. You can also install the livehttpheaders plugin for Firefox, to analyze the headers which are sent by your server, and check if they are sent properly. Quote Link to comment Share on other sites More sharing options...
cesarcesar Posted February 2, 2011 Author Share Posted February 2, 2011 @BlueBoden - thanks for the info. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.