На самом деле заголовок, который вы здесь показываете, не выполняет сжатие.Что делает сжатие - это потоковый класс, который вы устанавливаете в Response.Filter, и это сжатие выполняется Asp.Net примерно так:
if (acceptEncoding.Contains("gzip"))
{
// gzip
app.Response.Filter = new GZipStream(prevUncompressedStream, CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "gzip");
}
else if (acceptEncoding.Contains("deflate") || acceptEncoding == "*")
{
// deflate
app.Response.Filter = new DeflateStream(prevUncompressedStream, CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "deflate");
}
Если вы сделали это, то сжатие выполняется asp.net иНЕ IIS.Затем iis обнаруживает, что файл готов к сжатию и снова не сжат.Иногда я вижу, что это обнаружение не удается, и страница вообще не отображается, поэтому в этом случае вы деактивируете сжатие iis.
Вот класс gZipStream, который находится внутри asp.net http://msdn.microsoft.com/en-us/library/system.io.compression.gzipstream.aspx
Таким образом, рабочий процесс asp.net произвел сжатие, если вы установили GZipStream, DeflateStream
Вот пример сжатия файла asp.net с использованием GZipStream http://www.dotnetperls.com/gzipstream
Я предпочитаю делать сжатие на asp.net, а не на iis, потому что у меня больше контроля над ним.