服务器不dynamic压缩js和css文件。 奇怪的是,当这是在其他3台服务器上testing,它工作正常
会发生什么情况是,所有环境中的请求都指定它们接受GZIP编码,但不同之处在于服务器上的输出不指定GZIP内容编码,但是其他环境则是这样。
我们有一个dynamic的脚本,它是设置内容和内容编码,并再次这是在所有环境禁止这一台服务器正常工作。 所以我认为这是一个IIS问题。 在这一点上,我已经从不工作的服务器上的MetaBase.xml中将压缩元素进行了物理复制,并将其粘贴到本地计算机上以尝试复制,但是无法复制。
每个设置看起来应该启用压缩,但是无论出于什么原因在这个服务器上,它都没有注意到被添加的响应头,如下所示:
"Content-encoding", "gzip"
TIA
安德鲁
简单地通过脚本设置Response头部不会做任何事情来“打开”压缩。 它只是添加标题,你不想做的。 IIS压缩时应该自己添加标题。
您需要在IIS层为压缩dynamic和静态资产启用压缩。 您可以通过Web服务器级别的用户界面开启此function,并优化configuration数据库中的设置。 默认情况下,在IIS6上,启用dynamic压缩时,只有ASP,EXE和DLL文件的输出被压缩。 注意ASPX的显着缺席!
这里是我使用IIS6压缩元数据库configuration(一些值通过UI设置,其他手动编辑)。
<IIsFilter Location ="/LM/W3SVC/Filters/Compression" > </IIsFilter> <IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate" HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="0" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="TRUE" HcDynamicCompressionLevel="4" HcFileExtensions="htm html txt css js xml" HcOnDemandCompLevel="10" HcPriority="1" HcScriptFileExtensions="asp aspx dll exe" > </IIsCompressionScheme> <IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip" HcCompressionDll="%windir%\system32\inetsrv\gzip.dll" HcCreateFlags="1" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="TRUE" HcDynamicCompressionLevel="4" HcFileExtensions="htm html txt css js xml" HcOnDemandCompLevel="10" HcPriority="1" HcScriptFileExtensions="asp aspx dll exe" > </IIsCompressionScheme> <IIsCompressionSchemes Location ="/LM/W3SVC/Filters/Compression/Parameters" HcCacheControlHeader="max-age=86400" HcCompressionBufferSize="8192" HcCompressionDirectory="c:\temp\IIS_temp_compressed" HcDoDiskSpaceLimiting="TRUE" HcDoDynamicCompression="TRUE" HcDoOnDemandCompression="TRUE" HcDoStaticCompression="TRUE" HcExpiresHeader="Wed, 01 Jan 1997 12:00:00 GMT" HcFilesDeletedPerDiskFree="256" HcIoBufferSize="8192" HcMaxDiskSpaceUsage="99614720" HcMaxQueueLength="1000" HcMinFileSizeForComp="1" HcNoCompressionForHttp10="TRUE" HcNoCompressionForProxies="FALSE" HcNoCompressionForRange="FALSE" HcSendCacheHeaders="FALSE" > </IIsCompressionSchemes>