Help and Support
 

powered byLive Search

Reasons content is not cached by HTTP.sys in kernel

Article ID:817445
Last Review:December 3, 2007
Revision:5.5

SUMMARY

This document outlines the instances where the HTTP.sys driver does not cache content. In these situations, Internet Information Services (IIS) 6.0 must manage caching of content in user mode.

MORE INFORMATION

The HTTP.sys response cache caches any request with the appropriate flag in the request header. This cache is disabled on a per request basis. However, if any of the following apply, HTTP.sys does not cache the request response:
The request is not an anonymous request.
The request requires authentication (for example, the request contains an Authorization: header).
The Web site is configured to use a footer.
Dynamic compression is enabled and is used for the response.

Note Static compression can be used with HTTP.sys caching.
The static file is a Universal Naming Convention (UNC) file and the DoDirMonitoringForUnc registry key is not enabled.

Note You can use the DoDirMonitoringForUnc registry property (a DWORD value) to switch the static file cache back to a change notification cache. This is set at:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Inetinfo\Parameters
The default value is 0, or not enabled. It can be set to 1 to enable caching of static content based on change notification.
The request contains a query string.
The cache is disabled (that is, the MD_VR_NO_CACHE metabase property equals 1).

Note More information about the MD_VR_NO_CACHE metabase property is available in the product documentation. To view this documentation, visit the following Microsoft Web site:
DisableStaticFileCache
http://msdn2.microsoft.com/en-us/library/ms524754.aspx (http://msdn2.microsoft.com/en-us/library/ms524754.aspx)
You can also access the product documentation through IIS Manager. For more information about how to access this Help feature, click the following article number to view the article in the Microsoft Knowledge Base:
815127 (http://support.microsoft.com/kb/815127/) How to access IIS 6.0 Help documentation
The request has an entity body.
Certificate mapping is enabled for the URL.
Custom logging is enabled for the Web site.
The request HTTP version is neither 1.1 nor 1.0.
The request contains a Translate: f header.
An Expect: header that does not contain exactly "100 continue" is present.
The request contains either an If-Range: header or a Range: header.

Note HTTP.sys only processes whole responses. HTTP.sys does not try to send ranged responses.
The response spans multiple SendResponse and SendResponseEntityBody calls.

Note A cacheable response must come down in a single, "vectored" SendResponse* call.
The total response size is larger than the per-response maximum size. The maximum is controlled by the UriMaxUriBytes registry key and the default value is 256 K.
The response header size is larger than the per-response maximum header size. The default value is 1024 bytes.
The cache is already full. The default size is proportional to the physical memory in the computer.
The response is zero length.
An ISAPI filter that is not cache-aware is installed.

Note By default, ISAPI filters are not cache-aware. You must set the FilterEnableCache metabase property for the filter to make it cache-aware. All filters in a default installation of IIS are cache-aware, including Microsoft FrontPage and Microsoft ASP.NET.

More information about the FilterEnableCache metabase property is available in the product documentation. To view this documentation, visit the following Microsoft Web site:
FilterEnableCache
http://technet.microsoft.com/en-us/windowsserver/default.aspx (http://technet.microsoft.com/en-us/windowsserver/default.aspx)
A static file is accessed as a default document (for example, Default.htm exists in the root directory). Accessing the specific file by name (http://example.com/default.htm/) causes HTTP.sys to cache the file. Accessing the Web site by requesting the root folder (http://example.com/) results in a non-cached response.

APPLIES TO
Microsoft Internet Information Services 6.0
Microsoft Internet Information Services 7.0

Back to the top

Keywords: 
kbinfo KB817445

Article Translations

 

Related Support Centers

Other Support Options

  • Need More Help?
    Contact a Support professional by E-mail, Online or Phone.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.