当前位置:编程学习 > C#/ASP.NET >>

为什么IIS6.0 启用GZIP压缩失败

我按照IIS服务-》网站-》属性-》服务器标签-》选中压缩应用程序文件和压缩静态文件-》选择零时目录 确定,
然后web服务扩展-》新增扩展-》输入扩展名-》要求的文件:C:\WINDOWS\system32\inetsrv\gzip.dll -》选中允许扩展确定。
修改MetaBase.xml文件中 <IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="0"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="9"
HcFileExtensions="htm
html
txt
css
js"
HcOnDemandCompLevel="9"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe
aspx"
>
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="9"
HcFileExtensions="htm
html
txt
css
js"
HcOnDemandCompLevel="9"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe
aspx"
>
保存 最后重启IIS服务,服务器也重启了,就是启用失败,望高手帮忙解答 --------------------编程问答-------------------- 你和我一样啊。 
http://topic.csdn.net/u/20120423/19/33874e6c-b311-462a-b732-7521985d770f.html --------------------编程问答-------------------- 一样。动态的没压缩 求解决 --------------------编程问答-------------------- 我找到原因了。 

你用下面的代码输出一下Headers 里面有没有 Accept-encoding 这一项


            for (int a = 0; a < Request.Headers.Count; a++)
            {
                Response.Write(Request.Headers.Keys[a] + ":" + Request.Headers[Request.Headers.Keys[a]]);
                Response.Write("<br />");
            }



我这边 Accept-encoding 被ISP篡改成其他值了。

如果你和我一样的话使用下面代码来识别被篡改后的Accept-encoding 进行压缩。

if (HttpContext.Current.Request.Headers["被篡改的Accept-encoding值"] != null && HttpContext.Current.Request.Headers["BCcept-encoding"].Contains("gzip"))
{
   HttpContext.Current.Response.Filter = new GZipStream(HttpContext.Current.Response.Filter, CompressionMode.Compress);
    HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip");
}

--------------------编程问答-------------------- 请问一下

C# code

if (HttpContext.Current.Request.Headers["被篡改的Accept-encoding值"] != null && HttpContext.Current.Request.Headers["BCcept-encoding"].Contains("gzip"))
{
   HttpContext.Current.Response.Filter = new GZipStream(HttpContext.Current.Response.Filter, CompressionMode.Compress);
    HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip");
}


这窜代码放在哪里呢?
--------------------编程问答-------------------- --------------------编程问答-------------------- 你的html不是伪静态的吧?
补充:.NET技术 ,  其他语言
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,