Receptional_Andy - 10:27 am on Feb 1, 2011 (gmt 0)
You may be familiar with "last modified" headers - a way preventing repeated downloads of files that haven't changed since they were last requested. Knowing this allows browsers to use a locally cached copy, which will significantly speed up user experience.
Etags are a similar mechanism, but instead of using dates and times, use an identifier instead - which gives a bit more flexibility that just a timestamp. This can be useful if for some reason you can't get implement correct last modified dates.
The way etags work is your server can be configured to send the tag along with requests for images etc. When your browser re-requests the file, it also sends back the tag. If they match, the cached version is served instead.
How it's set up, and whether it's necessary depends on your server. Bear in mind that automated tests will tend to rely on general best practice rather than specifics for your site.
If you have some budget to increase speed, I'd recommend serving media files via a CDN - there are a number of low cost options for this these days, and your CDN provider would handle the best approach to caching for you. It would also reduce your own server laod and speed up the parts you were still handling yourself.