Я пытаюсь реализовать то, что Стив Соудерс обсуждает http://www.stevesouders.com/blog/2010/07/12/velocity-forcing-gzip-compression/ о принудительном сжатии gzip
У меня есть модуль, который запускает это:
void context_PreSendRequestHeaders(object sender, EventArgs e)
{
var app = sender as HttpApplication;
var request = app.Request;
var response = app.Response;
if (CompressionUtils.GzipSupported(request) || CompressionUtils.GzipNotSupportedExplicitly(request))
{
return;
}
if (CompressionUtils.GzipSupportedExplicitly(request))
{
response.Filter = new GZipStream(response.Filter, CompressionMode.Compress);
response.AddHeader(HttpHeaderKey.ContentEncoding, "gzip");
return;
}
response.Write("<iframe style=\"display:none;\" src=\"/CompressedPage.aspx\"></iframe>");
}
CompressionUtils.GzipSupported
просто проверяет заголовок «accept-encoding», пока
CompressionUtils.GzipSupportedExplicitly
и CompressionUtils.GzipNotSupportedExplicitly
проверяют наличие cookie, говоря, действительно ли браузер может читать gzip
Но когда я загружаю страницу в Firefox, я получаю эту ошибку:
Ошибка кодирования содержимого
Невозможно отобразить страницу, которую вы пытаетесь просмотреть, поскольку она использует недопустимый или
неподдерживаемая форма сжатия.
и в Fiddler он показывает, что заголовок кодирования контента был добавлен, но контент не был сжат