迁入阿里云后:解决了一个IIS动态内容压缩的问题
2013-03-10 22:04
302 查看
迁入阿里云后,有了更优质的带宽线路,一等价钱一等货,带宽成本更高了。节约带宽也就成为了重点要考虑的问题。
节约带宽首要的措施就是对除图片之外的所有内容进行压缩,迁移阿里云之前也是这么做的,但没现在这么重视。
今天发现博客RSS站点占用带宽很高,检查后发现返回给浏览器的响应内容竟然没被压缩。由于博客园RSS是全文输出,本来就是耗带宽大户,现在内容不压缩,可以称得上是耗带宽钉子户了。
【插播】如何知道一个网站是否对响应内容进行了压缩?在Firefox的Firebug中查看,如果Response Headers中有Content-Encoding:gzip或Content-Encoding:deflate ,就说明压缩了。见下图:
这个问题不是因为我们疏忽,忘了在IIS中启用这个站点的动态内容压缩(Http Dynamic Compression),而是另有原因。
IIS的动态内容压缩是基于MIME类型的,在IIS的默认设置(applicationHost.config)中,定义了一些mimeType,只有响应内容的Content Type与mimeType匹配时,IIS才会对之进行压缩。
如上图所示,我们的RSS的Content-Type是text/html; charset=utf-8,这个mimeType在IIS的默认设置中没有定义,所以没有被压缩。只需加个这个Content Type就能解决问题。
操作方法如下:
1. 在IIS中选中根节点,点击右侧的Configuration Editor
2. 在Section中选择httpCompression
3. 找到dynamicTypes,点击右侧的省略号按钮
4. 在打开的窗口中添加相应的mimeType,我们这里是text/html; charset=utf-8
5. 添加之后,关闭当前窗口,回到第3步中的窗口,然后点击Apply
6. 在命令行中输入iisreset命令重启IIS,使设置生效。
applicationHost.config中的对应配置如下:
参考:
Enabling dynamic compression (gzip, deflate) for WCF Data Feeds, OData and other custom services in IIS7
节约带宽首要的措施就是对除图片之外的所有内容进行压缩,迁移阿里云之前也是这么做的,但没现在这么重视。
今天发现博客RSS站点占用带宽很高,检查后发现返回给浏览器的响应内容竟然没被压缩。由于博客园RSS是全文输出,本来就是耗带宽大户,现在内容不压缩,可以称得上是耗带宽钉子户了。
【插播】如何知道一个网站是否对响应内容进行了压缩?在Firefox的Firebug中查看,如果Response Headers中有Content-Encoding:gzip或Content-Encoding:deflate ,就说明压缩了。见下图:
这个问题不是因为我们疏忽,忘了在IIS中启用这个站点的动态内容压缩(Http Dynamic Compression),而是另有原因。
IIS的动态内容压缩是基于MIME类型的,在IIS的默认设置(applicationHost.config)中,定义了一些mimeType,只有响应内容的Content Type与mimeType匹配时,IIS才会对之进行压缩。
如上图所示,我们的RSS的Content-Type是text/html; charset=utf-8,这个mimeType在IIS的默认设置中没有定义,所以没有被压缩。只需加个这个Content Type就能解决问题。
操作方法如下:
1. 在IIS中选中根节点,点击右侧的Configuration Editor
2. 在Section中选择httpCompression
3. 找到dynamicTypes,点击右侧的省略号按钮
4. 在打开的窗口中添加相应的mimeType,我们这里是text/html; charset=utf-8
5. 添加之后,关闭当前窗口,回到第3步中的窗口,然后点击Apply
6. 在命令行中输入iisreset命令重启IIS,使设置生效。
applicationHost.config中的对应配置如下:
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files"> <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" /> <dynamicTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/x-javascript" enabled="true" /> <add mimeType="*/*" enabled="false" /> <add mimeType="application/xml; charset=utf-8" enabled="true" /> </dynamicTypes> <staticTypes> <add mimeType="text/*" enabled="true" /> <add mimeType="message/*" enabled="true" /> <add mimeType="application/x-javascript" enabled="true" /> <add mimeType="application/atom+xml" enabled="true" /> <add mimeType="application/xaml+xml" enabled="true" /> <add mimeType="*/*" enabled="false" /> </staticTypes> </httpCompression>
参考:
Enabling dynamic compression (gzip, deflate) for WCF Data Feeds, OData and other custom services in IIS7
相关文章推荐
- 解决IIS动态内容压缩的问题
- 动态修改alv grid的内容的一个问题
- 一个发邮件的类,带验证功能,可以发html内容,可以添加附件,并解决附件乱码问题。
- eclispe控制台输出太多前面的被掩盖,设置输出定向到一个文件,但是文件有时候内容不全问题解决
- IIS安装和无法显示动态网页问题解决方案
- 使用VS进行打包程序解决生成两个文件的问题(压缩后只有一个exe)
- IIS启用Gzip压缩造成OpenFlashChart不能正常显示问题及解决方法
- IIS启用Gzip压缩造成OpenFlashChart不能正常显示问题及解决方法
- [ExtJS4]ExtJS4左边菜单面板收缩展开,右边TabPanel内容动态更新(解决宽度不能自适应问题)
- 解决用<img src="<%# Eval("ShowPhoto")%>"动态绑定图片,发布到IIS上无法显示的问题
- 一个发邮件的类,带验证功能,可以发html内容,可以添加附件,并解决附件乱码问题。
- 安全狗导致IIS Worker Process 遇到了一个问题和错误模块 ntdll.dll的解决方法
- IIS启用GZip压缩后带来的问题及解决办法
- 解决用<img src="<%# Eval("ShowPhoto")%>"动态绑定图片,发布到IIS上无法显示的问题
- IIS服务器遇到的一个问题(已解决)
- w7 下配置IIS ,出现的IIS 7.5 HTTP 错误 404.3 - Not Found解决办法及 调用32位动态库问题
- 解决 MySQL Cluster 通过 某一个MySqld节点新建表时,其他 MySqld节点 看不到表内容的问题
- 关于iframe自适应高度,解决一个iframe动态改变url,改变页面同时解决高度自适应问题
- 用浮动代替定位解决动态变化的div内容,一个div浮在两个div上面
- 解决vc++DEBUG ERROR问题前几天师弟调试程序的时候出现了这样一个错误,出错的位置是在delete [] 一个动态分配的数组时出现的。 经过调查发现错误是因为他之前在给数组赋值的时候越界了