configuring e-tags

Viewed 68723

I am using Yslow as a simple speed benchmarking tool and I came across a really confusing concept. The E-tag

So the main problem is : How do I configure E-tags? my grade in yslow says:

There are 19 components with misconfigured ETags

* http://thehotelinventory.com/media/js/jquery.min.js
* http://thehotelinventory.com/media/js/jquery.colorbox.min.js
* http://thehotelinventory.com/media/js/easyslider.min.js
* http://thehotelinventory.com/media/js/jquery.tools.min.js
* http://thehotelinventory.com/media/js/custom.min.js
* http://thehotelinventory.com/media/js/jquery.validate.min.js
* http://thehotelinventory.com/media/images/colorbox/loading_background.png
* http://thehotelinventory.com/media/images/productheaderbg.jpg
* http://thehotelinventory.com/media/images/buttons/field-bg. //etc

I browsed through the developer.yahoo.com guidelines on website optimization yet I can't really understand the thing with e-tags

8 Answers

This page shows how to disable ETags for IIS and this page shows how to do it for Apache.

Assuming you are running Apache...

You can set up a simple ETag like this:

FileETag MTime Size

If you have multiple servers, you want to disable ETags.

FileETag None

Put the above code in your httpd.conf (if you have access), otherwise you can put it in .htaccess.

Think of E-Tags as a sort of hash. When a browser makes a request for a resource, it sends along the E-tag of the file version it has cached. If the server decides that the files are similar enough (there are "strong" and "weak" versions of E-Tags so it's not always a simple comparison check) it will send a "304 Not Modified" response to the client, rather than the resource itself. This translates into a speed boost, since it prevents bandwidth from being wasted on unchanged files.

E-Tags are sent via HTTP headers.

There's a good example of E-Tags at work (and also how to disable them for Apache) here: http://www.askapache.com/htaccess/apache-speed-etags.html

Go straight to the source, YSlow provides guidance on all of it's advice, including how to configure ETags.

The best way to configure your ETags is to remove them. For static files, far-future expiration dates are a much better approach.

The way to remove them depends on the web server you're using. For IIS 7, it can be done with a simple HttpModule.

Related