无法使用IIS创建gzip javascript文件
我执行了以下步骤:无法使用IIS创建gzip javascript文件,javascript,iis,gzip,Javascript,Iis,Gzip,我执行了以下步骤: 使用7-ZIP将javascript文件转换为gzip文件 将更改为 我使用firebug检查base.js.gz响应是否为空。这不是您要做的 不要管你的文件,只需在IIS中打开静态压缩即可。你不是这样做的 不要管你的文件,只需在IIS中打开静态压缩即可。你都在手动压缩文件,并使用IIS。如果你让它工作,它将被压缩两次,这是浏览器无法处理的 只需在IIS中使用压缩,它将动态压缩文件,并发送正确的HTTP头,以便浏览器知道如何解压缩文件。您正在手动压缩文件,并使用IIS。如果
更改为
不要管你的文件,只需在IIS中打开静态压缩即可。你都在手动压缩文件,并使用IIS。如果你让它工作,它将被压缩两次,这是浏览器无法处理的
只需在IIS中使用压缩,它将动态压缩文件,并发送正确的HTTP头,以便浏览器知道如何解压缩文件。您正在手动压缩文件,并使用IIS。如果你让它工作,它将被压缩两次,这是浏览器无法处理的
只需在IIS中使用压缩,它将动态压缩文件并发送正确的HTTP头,以便浏览器知道如何解压缩它。我认为您需要重新考虑您的方法。为了在IIS7中为静态文件类型启用Gzip内容,您只需在web.config中执行以下操作:
<system.webServer>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
</staticTypes>
</httpCompression>
<system.webServer>
我认为您需要重新考虑您的方法。为了在IIS7中为静态文件类型启用Gzip内容,您只需在web.config中执行以下操作:
<system.webServer>
<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
<scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
<staticTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="application/x-javascript" enabled="true" />
</staticTypes>
</httpCompression>
<system.webServer>
脚本的类型仍然应该是text/javascript
,而不是application/x-gzip
。我不确定您是否能够自己压缩文件。压缩依赖于http头(内容编码)告诉浏览器将其解压缩并将其视为常规js文件。如果我使用text/javascript
,则会出现非法字符错误。您的脚本类型仍应为text/javascript
,而不是application/x-gzip
。我不确定您是否可以自己压缩文件。压缩依赖于http头(内容编码)来告诉浏览器将其解压缩并将其视为常规js文件。如果我使用text/javascript
,则会出现非法字符错误。如何检查文件是否真的被压缩?我使用的是YSlow,并且继续说这些文件没有被压缩。然后它们没有被压缩——只需检查HTTP头。有很多关于如何启用压缩的指南,例如:如何检查文件是否真的被压缩?我使用的是YSlow,并且继续说这些文件没有被压缩。然后它们没有被压缩——只需检查HTTP头。有很多关于如何启用压缩的指南,例如:好吧,你需要一个web.config。我甚至不认为这是ASP.NET的一部分。你是对的,我只在ASP.NET中使用了web.config,但它适用于所有web服务器。不过,你需要一个web.config。我甚至不认为这是ASP.NET的一部分。你是对的,我只在ASP.NET中使用了web.config,但它适用于所有web服务器。