Экземпляры, в которых HTTP.sys не кэширует содержимое
В этой статье приводятся экземпляры, в которых драйвер HTTP.sys не кэширует содержимое.
Исходная версия продукта: службы IIS
Исходный номер базы знаний: 817445
Ситуации, когда HTTP.sys не кэширует
Кэш HTTP.sys
ответа кэширует любой запрос с соответствующим флагом в заголовке запроса. Этот кэш отключен на основе каждого запроса. Однако если одно или несколько следующих условий имеет значение true, HTTP.sys
не кэширует ответ запроса:
Запрос не является анонимным запросом.
Для запроса требуется проверка подлинности. (Например, запрос содержит
Authorization:
заголовок.)Веб-сайт настроен для использования нижнего колонтитула.
Динамическое сжатие включено и используется для ответа.
Примечание.
С кэшированием можно использовать
HTTP.sys
статическое сжатие.Статический файл — это файл универсального соглашения об именовании (UNC), а
DoDirMonitoringForUnc
раздел реестра не включен.Примечание.
Свойство реестра (значение DWORD) можно использовать
DoDirMonitoringForUnc
для переключения статического кэша файлов обратно в кэш уведомлений об изменении. Это задано следующим образом:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Inetinfo\Parameters
Значение по умолчанию равно 0 или не включено. Можно задать значение 1, чтобы включить кэширование статического содержимого на основе уведомления об изменениях.Запрос содержит строку запроса.
Кэш отключен. (То есть
MD_VR_NO_CACHE
свойство метабазы равно 1.)Примечание.
Дополнительные сведения о свойстве
MD_VR_NO_CACHE
метабазы доступны в документации по продукту. Сведения об этой документации см. в разделе DisableStaticFileCache.Запрос содержит тело сущности.
Сопоставление сертификатов включено для URL-адреса.
Настраиваемое ведение журнала включено для веб-сайта.
Версия HTTP запроса не является 1.1 или 1.0.
Запрос содержит заголовок
Translate: f
.Заголовок
Expect:
, который не содержит точно100 continue
, присутствует.Запрос содержит
If-Range:
заголовок илиRange:
заголовок.Примечание.
HTTP.sys
обрабатывает только целые ответы.HTTP.sys
не пытается отправлять диапазонные ответы.Ответ охватывает несколько вызовов и
SendResponseEntityBody
несколькихSendResponse
вызовов.Примечание.
Кэшируемый ответ должен находиться в одном векторном вызове
SendResponse
.Общий размер ответа превышает максимальный размер ответа на ответ. Максимальное значение контролируется разделом
UriMaxUriBytes
реестра, а значение по умолчанию — 256 КБ.Размер заголовка ответа превышает максимальный размер заголовка для каждого ответа. Значение по умолчанию — 1024 байта.
Кэш уже заполнен. Размер по умолчанию пропорциональен физической памяти на компьютере.
Ответ равен нулевой длине.
Установлен фильтр интерфейса программы приложений Internet Server (ISAPI), который не поддерживает кэш.
Примечание.
По умолчанию фильтры ISAPI не поддерживают кэш. Необходимо задать
FilterEnableCache
свойство метабазы для фильтра, чтобы обеспечить его учетную запись в кэше. Все фильтры в установке СЛУЖБ IIS по умолчанию знают о кэше. К ним относятся FrontPage и ASP.NET.
Дополнительные сведения о свойствеFilterEnableCache
метабазы см. в новых возможностях развертывания Windows 10.Статический файл обращается как к документу по умолчанию. (Например, Default.htm существует в корневом каталоге.) Доступ к конкретному файлу по имени (
http://contoso.com/default.htm/
) приводитHTTP.sy
к кэшированию файла. Доступ к веб-сайту путем запроса корневой папки (http://contoso.com/
) приводит к не кэшированному ответу.Примечание.
Если первая страница, указанная в списке документов по умолчанию, недоступна, службы IIS пытается обслуживать вторую страницу в списке документов по умолчанию. В этой ситуации статические страницы не будут обслуживаться из кэша.