Я заметил, что отсутствует Content-Encoded
заголовок ответа, в частности Содержимое в кодировке: gzip . Я использую static content compression
. Функция dynamic content compression
никогда не была установлена. Я установил его, включил и снова протестировал. На этот раз в ответе появилось Content-Encoded: gzip . Вопрос в том, почему заголовок ответа появляется для динамического сжатия содержимого c, а не для сжатия содержимого stati c? Я совершенно уверен, что IIS применяет gzip для сжатия содержимого stati c. И вот почему:
У меня есть исходящее правило перезаписи URL IIS, которое изменяет ответ на странице HTML. Правило исходящих сообщений привело к ошибке 500.52, ошибка модуля перезаписи URL - правила исходящей перезаписи не могут быть применены, когда закодировано содержимое ответа HTTP («gzip»). Правило не проблема, просто доказательство того, что gzip по сообщениям применяется. Я отключил правило. Это ключ № 1.
Подсказка № 2: я включил Failed Request Tracing
и заметил, что применялось не только сжатие stati c, но StaticFileModule сохранял сжатый файл в следующем местоположение: C: \ INETPUB \ TEMP \ ВРЕМЕННЫЕ СЖАТЫЕ ФАЙЛЫ IIS \ МОЙ САЙТ \ $ ^ _ GZIP_D ^ \ INETPUB \ WWWROOT \ TEST. HTML.
Я прочитал документ Microsoft по IIS HTTP Compression и - я могу ошибаться - я не видел ни одного языка, который бы предполагал использование gzip со сжатием stati c. Основываясь на двух вышеупомянутых подсказках, gzip используется со сжатием stati c.
Так что я go вернемся к исходной проблеме, которая для static content impression
заголовка ответа Content-Encoded
отсутствует, но данные свидетельствуют о том, что IIS не только сжимает содержимое stati c, но и сжимает gzip
. Это просто ошибка? Это по замыслу?