我正在尝试实现 Steve Souders 讨论的关于强制 gzip 压缩的内容http://www.stevesouders.com/blog/2010/07/12/velocity-forcing-gzip-compression/
我有一个正在运行的模块:
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
只需检查“accepts-encoding”标头,同时
CompressionUtils.GzipSupportedExplicitly
检查CompressionUtils.GzipNotSupportedExplicitly
表明浏览器是否真的可以读取 gzip 的 cookie
但是当我在 Firefox 中加载一个页面时,我得到了这个错误:
内容编码错误
您尝试查看的页面无法显示,因为它使用了无效或不受支持的压缩形式。
在 Fiddler 中显示内容编码标头已添加,但内容尚未压缩