解决关于IIS gzip不能正常启用的问题
更新时间:2012年11月29日 19:49:04 作者:
今天配置服务器的时候, 为了更快的速度,我们打算启用gzip,按照脚本的之家方法平时都是立即可以使用,这次确不行,通过下面的方法解决了,特分享下,方便需要的朋友
1、gzip的下载安装 一键开启gzip
独立主机/VPS 一键开启IIS的GZIP方法 https://www.jb51.net/article/30151.htm
2、安装成功后,基本上是可以的, 一般情况下就是 gzip缓存目录c:\windows\IIS Temporary CompressedFiles 目录,我们建议放到d盘,并给everyone全部权限即可。
重新启动iis即可。
IIS启用Gzip压缩造成OpenFlashChart不能正常显示问题及解决方法
在.NET中使用OpenFlashChart控件显示图表时,谁会想到图表显示正常与否竟然和服务器IIS是否启用了Gzip压缩有关呢?
两个站点用着同一套程序,一个站点OpenFlashChart图表能正常显示,另一个站点却显示为“ioerror Error #2032”,而且这个问题只出现在IE6浏览器中,火狐和IE7中都能正常显示,是什么原因造成的呢?
百度和Google一番,才查到原因是服务器上采用了Gzip压缩优化网站和no-cache同时出现造成的,解决方法是在返回的页面里增加HTTP头,示例代码如下:
复制代码 代码如下:
Response.Clear();
//Response.CacheControl = "no-cache";
//用这句代替上面一句
Response.AppendHeader("Cache-Control", "no-cache, no-store, must-revalidate, max-age=-1");
Response.Write(chart.ToString()); //输出openflashchat流
Response.End();
以下是详细介绍,适合手工配置gzip的朋友
一. HTTP压缩概述
HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩采用通用的压缩算法如gzip等压缩HTML、JavaScript或 CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。当然,同时也会增加一点点服务器的负担。Gzip是比较常见的 一种HTTP压缩算法。
本文介绍的HTTP压缩方式,采用的是Windows系统设置的方式,优点是效率较高。
二. HTTP压缩工作原理
Web服务器处理HTTP压缩的工作原理如下:
Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
小编在网上找过很多的资料,gzip对搜索引擎Seo不会有影响,并且Baidu也明确表示可以解析Gzip数据。
我们用站长站的工具来检测一下Gzip以后的效果:
不过注意 GZIP一般只对 Html 之类的文本有效果,而对已经压缩过了的图片如 gif,jpg 等是没有效果的。
下载我们来一步一步教大家如何打开IIS的Gzip
1. 打开Internet信息服务(IIS)管理器,右击“网站”-》“属性”,选择“服务”。在“HTTP压缩”框中选中“压缩应用程序文件”和“压缩静态文件”,按需要设置“临时目录”和“临时目录的最大限制”;
2. 在Internet信息服务(IIS)管理器,右击“Web服务扩展”-》“增加一个新的Web服务扩展。。.”,在“新建Web服务扩展”框中输入扩展名“HTTP Compression”,添加“要求的文件”为c:\WINDOWS\system32\inetsrv\gzip.dll,其中Windows系统目录根据您的安装可能有所不同,选中“设置扩展状态为允许”;
3. 使用文本编辑器打开c:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),
在打开之前请注意:
1. 在编辑MetaBase.xml前需要停止IIS,可以使用 微软键+R运行:net stop iisadmin
2. 修改完成后重启VPS
找到Location =“/LM/W3SVC/Filters/Compression/gzip用于设置gzip压缩,
找到Location =”/LM/W3SVC/Filters/Compression/deflate“用于设置deflate压缩。 上面两个节点紧挨着。并且设置的属性相同。
如果需要压缩动态文件,则将HcDoDynamicCompression设置为”TRUE“,
并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;
如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为”TRUE“,
并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等;
HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数值在0-10, 默认为0。
HcDynamicCompressionLevel属性说明:HcDynamicCompressionLevel Metabase Property
HcOnDemandCompLevel 属性说明:HcOnDemandCompLevel Metabase Property
说明: 这两个属性值一般推荐设置为9, 具有最佳性价比。
关键的配置来了:导致GZIP无法生效就是下面的配置网上没有提到。
HcNoCompressionForHttp10="TRUE"
HcNoCompressionForProxies="TRUE"
改为
HcNoCompressionForHttp10="FALSE"
HcNoCompressionForProxies="FALSE"
相关文章
Windows Server 2022 升级:WSL 子系统全新体验
Windows Server 2022 是微软最新发布的服务器操作系统,它提供了许多强大的功能和性能优化,本文将介绍如何在 Windows Server 2022 上安装 WSL 子系统,以及配置和使用的步骤,需要的朋友可以参考下2023-10-10
win10使用清华源快速安装pytorch-GPU版(推荐)
这篇文章主要介绍了win10使用清华源快速安装pytorch-GPU版,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-10-10
Windows server 2008搭建php运行环境图文详解(php5.3)
这篇文章主要为大家分享下Windows server 2008搭建php运行环境的步骤,需要的朋友可以参考下2013-12-12
win2003 jsp运行环境架设心得(jdk+tomcat)
这几天一直研究架设JSP服务器,之前一切都是默认安装,能成功;能看到一只猫,可真正要上线时,要实现多站点就一直404不行;不知道百度跟google将近一天都不行,看了N多网页尝试不行2012-12-12
Windows Server 2016+Sql Server 2016搭建Alw
集群规划节点加域重启并用本地管理员账户重新登陆后,开始安装故障转移集群功能(WSFC),并创建故障转移集群2023-05-05
Windows Server 2012显示或隐藏桌面上的通用图标教程图解
Windows Server 2012与Windows Server 2008 在显示或隐藏桌面上的通用图标是不同的。这篇文章通过图文并茂的形式给大家介绍Windows Server 2012显示或隐藏桌面上的通用图标,感兴趣的朋友一起看看吧2018-12-12
由于这台计算机没有终端服务器客户端访问许可证,远程会话被中断
问题:使用[远程桌面连接]到win2003 server 消息:[由于这台计算机没有终端服务器客户端访问许可证,远程会话被中断。请跟服务器管理员联系。] 原因:许可证服务器中可能没有剩余的“每设备 CAL”来颁发。2009-06-06


最新评论