Jump to content

Caching's Got Me Completely Confused


cesarcesar

Recommended Posts

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 2 weeks later...
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.