Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I just realized that by default when you create a new site in IIS it defaults to not including any expiration headers. I had been assuming it would be enabled with something reasonable like a day or so. Is this truly the default? Is there anyway to change to a default policy that keeps expiration/caching enabled?

share|improve this question
up vote 2 down vote accepted

The default is indeed to not have content expiration enabled on the server. This doesn't mean that no expiration is happening though, just that the client will control content expiration.

You can enable it for all sites/virtual directories by going to the setting at the "Web Sites level (in IIS6) or at the server level (in IIS7) - this will make the setting propagate down to all existing sites and be applied to any new site.

This doesn't "keep the setting enabled" though - any site or virtual directory could potentially have its own custom setting for content expiration.

share|improve this answer
In my tests it appears that without content expiration enabled on the server FF, IE, Chrome all don't cache and request all resources every page load. – jamone May 10 '10 at 12:00

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.