我们已经在IIS(IIS6)的服务器上启用了Gzip压缩。 我们运行了iisreset。 它只是不想生效。 我们之前在另一台服务器上安装过这个软件,过了一段时间,它才开始工作。
它是否应该立即“采取”? 如果不是,需要多长时间? 有什么我们可以做的,以加快这一点?
你确定结果没有被caching吗? 您可以在这里远程validation服务器
此外,默认情况下,IIS 6.0仅configuration为压缩以下文件types:htm,html,txt,asp,dll,exe。
所以如果你正在浏览一些其他types的文件(例如php或aspx),它将不会被压缩。
您可以使用以下命令来configuration要压缩的其他文件types:
对于静态文件types…
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/deflate/HcFileExtensions htm html txt css js cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcFileExtensions htm html txt css js
对于dynamic文件types…
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/deflate/HcScriptFileExtensions asp dll exe aspx asmx php cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcScriptFileExtensions asp dll exe aspx asmx php
以下列出了启用IIS 6压缩所需的所有内容: http : //weblogs.asp.net/owscott/archive/2004/01/12/IIS-Compression-in-IIS6.0.aspx 。 仔细检查,确保你设置了一切。
只要你configuration正确,做了iisreset,没有任何caching,它会立即生效。
附加说明:对于静态文件,IIS不会对第一个请求执行任何压缩。 它提供未压缩的第一个请求“myfile.html”,然后在后台压缩静态文件,并将其粘贴到压缩文件caching中。 随后所有对“myfile.html”的请求将返回压缩版本。
这在我看来是不必要的优化,但是我认为这个想法是不让第一个请求者等待压缩的发生,因为默认情况下,IIS对静态内容采用非常积极和CPU密集型的压缩设置(类似于gzip -9 )。 随后对文件的所有请求都使用高速caching中的高度压缩版本。
对于IIS上的dynamic页面,情况正好相反……它默认使用非常低的压缩设置(类似于gzip -1),并且实时压缩每个页面。
在IIS6的gzip压缩过程中要经过这一步骤: http : //engineering.leads360.com/post/9301650692/http-compression-gzip-on-iis-6
…这应该为你工作。