无法使用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。如果

我执行了以下步骤:

  • 使用7-ZIP将javascript文件转换为gzip文件

  • 更改为

  • 我使用firebug检查base.js.gz响应是否为空。

    这不是您要做的

    不要管你的文件,只需在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服务器。