【问题标题】:Unable to gzip javascript file using IIS无法使用 IIS 压缩 javascript 文件
【发布时间】:2011-05-03 09:06:07
【问题描述】:

我执行了以下步骤:

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

  2. Enabled static compression in IIS

  3. <script type="text/javascript" src="js/base.js"></script>更改为<script type="application/x-gzip" src="js/base.js.gz"></script>

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

【问题讨论】:

  • 脚本的类型仍应为text/javascript 而不是application/x-gzip
  • 我不确定您是否可以自己压缩文件。压缩依赖于一个http头(content-encoding)来告诉浏览器解压它并把它当作一个普通的js文件。
  • 如果我使用text/javascript 会出现非法字符错误。

标签: javascript iis gzip


【解决方案1】:

不是你是怎么做的。

不要理会您的文件,只需在 IIS 中打开静态压缩 - 就是这样。

【讨论】:

【解决方案2】:

您既要手动压缩文件,又要使用 IIS。如果你让它工作,它将被压缩两次,这是浏览器无法处理的。

只需在 IIS 中使用压缩,它会即时压缩文件并发送正确的 HTTP 标头,以便浏览器知道解压它。

【讨论】:

    【解决方案3】:

    我认为您需要重新考虑您的方法。为了在 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>
    

    【讨论】:

    • 好吧,你仍然需要一个 web.config。我认为这甚至不是 ASP.NET 的一部分。
    • 你说得对,我只在 ASP.NET 中使用 web.config,但它适用于所有 Web 服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-11
    • 2015-05-04
    • 2017-03-15
    • 2018-07-30
    • 1970-01-01
    • 2019-06-17
    • 2016-07-29
    相关资源
    最近更新 更多