gpt4 book ai didi

iis-7.5 - 如果启用静态压缩,则 IIS 中的 gzip js 不会被压缩

转载 作者:行者123 更新时间:2023-12-04 23:04:56 25 4
gpt4 key购买 nike

我已经使用 Squishit 来缩小和捆绑 JS 并压缩我在 IIS 7.5 中启用选项(启用静态内容压缩)的捆绑文件

问题是 Js 没有被压缩,我只是得到了缩小的 js,但是如果我启用动态内容压缩,那么 Js 就会被压缩。

现在动态压缩的问题是它不缓存文件,并且在每个请求上它都必须进行占用 CPU 时间的压缩。

有人可以帮我弄清楚为什么 js 在静态内容压缩模式下没有被压缩

这是在客户端发送 js 的理想方式吗

JS -> Minify JS (Squishit) -> Compress (Static /Dynamic)

最佳答案

静态文件的压缩是动态处理的,而 IIS 认为该文件很少使用。一旦文件被认为是频繁的,它将被压缩和缓存。缓存版本将继续提供,直到它再次变得不频繁。您可以在 IIS 中使用 2 个配置设置来配置常用文件:

system.webServer/serverRuntime:

  • frequentHitThreshold : 同一个文件应该被请求多少次,才被认为是频繁的和缓存的?默认为 2。
  • frequentHitTimePeriod :同一文件应该被请求 {frequentHitThreshold} 次的时间间隔,以便被缓存。默认为 10 秒。

  • 请注意,无论您设置了怎样的 frequencyHitTimePeriod,如果 1 分钟后没有请求,频繁的文件将始终变得不频繁。我不知道配置中是否有此设置。

    设置 frequentHitThreshold例如,设置为 1 意味着该文件始终被 IIS 视为频繁使用,即使是从第一个请求开始也是如此。这将依次绕过动态压缩并仅由静态压缩处理。

    或者您可以通过设置 staticCompressionIgnoreHitFrequency 完全绕过命中频率为真:
    appcmd set config -section:system.webServer/httpCompression /staticCompressionIgnoreHitFrequency:"True"
    请注意,动态(默认 0)和静态(默认 7)压缩的压缩级别不同,因此将返回 2 个不同的文件大小。

    此外,这就是我首先遇到这个问题的原因:即使您对动态和静态压缩使用相同的级别,同一文件的 ETag 也是不同的。

    希望这可以帮助。

    关于iis-7.5 - 如果启用静态压缩,则 IIS 中的 gzip js 不会被压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14796225/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com