我已经使用 Squishit 来缩小和捆绑 JS 并压缩捆绑文件我在 IIS 7.5 中启用了选项(启用静态内容压缩)
问题是 Js 没有被压缩,我只是得到缩小的 js,但如果我启用动态内容压缩,那么 Js 就会被压缩。
现在动态压缩的问题是它不会缓存文件,并且在每次请求时它都必须进行压缩,这会占用 CPU 时间。
有人可以帮我解决为什么js在静态内容压缩模式下没有被压缩吗
这是在客户端发送 js 的理想方式吗
JS -> Minify JS (Squishit) -> Compress (Static /Dynamic)
静态文件的压缩是在考虑文件的同时动态处理的不常见的通过 IIS。一旦文件被考虑frequent它将被压缩并缓存。缓存的版本将继续提供,直到它再次变得不频繁为止。您可以在 IIS 中使用 2 个配置设置来配置常用文件:
系统.web服务器/服务器运行时:
-
frequentHitThreshold
:同一个文件应该被请求多少次,才会被认为是频繁的并被缓存?默认为 2。
-
frequentHitTimePeriod
:同一文件应被请求 {frequentHitThreshold} 次以进行缓存的时间间隔。默认为 10 秒。
请注意,无论您设置的frequentHitTimePeriod如何,如果1分钟后没有请求,频繁的文件总是会变成不频繁的。我不知道配置中是否有此设置。
Setting frequentHitThreshold
例如,设置为 1 意味着 IIS 始终认为该文件是频繁出现的,即使从第一个请求开始也是如此。这将依次绕过动态压缩并仅通过静态压缩进行处理。
或者您可以通过设置完全绕过点击频率staticCompressionIgnoreHitFrequency
为真:
appcmd set config -section:system.webServer/httpCompression /staticCompressionIgnoreHitFrequency:"True"
请注意,动态(默认 0)和静态(默认 7)压缩的压缩级别不同,因此将返回 2 个不同的文件大小。
另外,这就是我首先遇到这个问题的原因:即使您对动态和静态压缩使用相同的级别,同一文件的 ETag 也是不同的。
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)