GZip 压缩在 IIS 7.5 上不起作用

2023-11-29

我试图在 IIS 下支持静态文件的 GZip 压缩(默认情况下应该启用,但没有),但到目前为止还没有工作。这是下面的部分<system.webServer>Web 应用程序的 web.config 文件内的节点;

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
  <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" staticCompressionLevel="9" />
  <dynamicTypes>
    <add mimeType="text/*" enabled="true" />
    <add mimeType="message/*" enabled="true" />
    <add mimeType="application/x-javascript" enabled="true" />
    <add mimeType="application/json" enabled="true" />
    <add mimeType="*/*" enabled="false" />
  </dynamicTypes>
  <staticTypes>
    <add mimeType="text/*" enabled="true" />
    <add mimeType="message/*" enabled="true" />
    <add mimeType="application/x-javascript" enabled="true" />
    <add mimeType="application/atom+xml" enabled="true" />
    <add mimeType="application/xaml+xml" enabled="true" />
    <add mimeType="*/*" enabled="false" />
  </staticTypes>
</httpCompression>

<urlCompression doStaticCompression="true" />

我用谷歌浏览器试过了。这是请求标头;

接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8

接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.3

接受编码:gzip、deflate、sdch

接受语言:en-US,en;q=0.8

缓存控制:无缓存

连接:保持活动状态

主机:我的网站 url

编译指示:无缓存

用户代理:Mozilla/5.0 (Windows NT 6.0) AppleWebKit/534.30 (KHTML, 像 Gecko)Chrome/12.0.742.122 Safari/534.30

这些是响应标头;

接受范围:字节

内容长度:232651

内容类型:应用程序/x-javascript

日期:2011 年 8 月 4 日星期四 08:58:19 GMT

ETag:"a69135734a50cc1:0"

最后修改时间:2011 年 8 月 1 日星期一 12:56:37 GMT

服务器:微软-IIS/7.5

X-Powered-By:ASP.NET

我检查 applicationHost.config 文件并发现一些如下所示的节点;

----

<section name="httpCompression" allowDefinition="AppHostOnly" overrideModeDefault="Deny" />

----

<section name="urlCompression" overrideModeDefault="Allow" />

----

<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="message/*" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/atom+xml" enabled="true" />
        <add mimeType="application/xaml+xml" enabled="true" />
        <add mimeType="*/*" enabled="false" />
    </staticTypes>
</httpCompression>

----

<urlCompression />

我在这里缺少什么?


经过大量搜索,我终于找到了在 IIS 7.5 上进行压缩的方法。 首先,除非文件加载得足够频繁,否则 IIS 不会压缩文件。这就提出了一个问题:“IIS 经常考虑什么?”嗯,默认值是每 10 秒 2 次。哎呀!

可以在 web.config 中更改此设置,但需要首先在 applicationHost.config 中解锁该部分。以下是命令:

首先解锁该部分:

C:\Windows\System32\inetsrv\appcmd.exe 解锁配置 /节:system.webServer/serverRuntime

解锁配置路径“MACHINE/WEBROOT/APPHOST”处的“system.webServer/serverRuntime”部分。

现在已完成,编辑 web.config 文件并添加 serverRuntime 元素:





...

在本例中,我将其设置为每 10 小时命中一次文件。您可以根据需要调整这些值。这是解释 serverRuntime 元素的文档:

http://www.iis.net/configreference/system.webserver/serverruntime

我希望这也有助于您的压缩工作。

注意:您还可以在 applicationHost.config 文件中设置 serverRuntime 元素,但我选择在 web.config 中更改它,因为我们有许多服务器和具有不同站点的服务器场,并且我更容易控制它从这个粒度级别。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GZip 压缩在 IIS 7.5 上不起作用 的相关文章

  • 在生产服务器上安装 VS.NET 是否安全且可以接受? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 通常 我们在生产服务器上安装 VS NET 以便在必要时轻松解决我们产品的问题 这是好主意还是坏主意 调试和开发应该在 安全 环境中完成 这不是
  • 如何在登录名控件中显示用户名

    我有一个母版页 其中包含基于母版页的所有后续页面上显示的登录视图内容 我有一个用户名控件也嵌套在登录视图中 用于在用户登录时显示用户名 母版页中登录视图的代码显示如下 div class loginView div
  • 如何获取我的应用程序已创建的应用程序域的列表?

    我有一个服务应用程序 它在长时间运行的任务的使用过程中创建AppDomain 我一直通过将它们存储在具有唯一 ID 的哈希表中来跟踪它们 任务完成后 服务应用程序会卸载分配给该任务的 AppDomain 然后将其从 appdomain 哈希
  • 如何在.NET中将Assembly类的对象保存到磁盘

    我已将其编码为磁盘上的 Base64 字符串 它需要 dll 表示 我可以将它加载到 Assembly 对象中 但找不到保存它的方法 谢谢 那么 1 如何将Assembly类的对象保存到磁盘 2 如何将base64编码的程序集保存到二进制d
  • 有没有一种简单的方法来使用InternalsVisibleToAttribute?

    我有一个 C 项目和一个测试项目 其中包含主项目的单元测试 我想要可测试的internal方法 我想在没有 Visual Studio 测试项目中可以拥有的神奇 Accessor 对象的情况下测试它们 我想用InternalsVisible
  • WinApi:获取 COM 表单的控件名称

    我想用 Net 框架替换我当前的 UI 自动化工具 QTP 我需要测试 VB6 COM 应用程序 框架的基础之一是使用表单名称 到目前为止 我未能找到使用 Win API 获取这些数据的方法 该解决方案只有一个约束 即该解决方案必须依赖 N
  • 为什么自定义类型变量不保存值MVC

    我正在尝试使用 MVC 5 构建一个网站 我有一个包含 3 个变量的控制器类 public class WorkerController Controller public ViewModel viewModel new ViewModel
  • 限制违反架构 - asp.net MVP

    如果我们在应用程序中定义了层次结构 对于前三层架构 我们如何限制后续开发人员违反规范 例如 在 MVP 不是 ASP NET MVC 架构的情况下 演示者应该始终绑定模型和视图 这有助于编写正确的单元测试程序 然而 我们也遇到过这样的情况
  • asp.net mvc 它能处理所有请求吗? - iis 7集成模式

    我有一个使用 asp net mvc 构建的网站 在 IIS 7 上使用集成模式运行 我注意到 当我输入 mysite com test html 时 我得到了 The IControllerFactory did not return a
  • Visual Studio 2022 - 编译旧应用程序时出错

    我们正在尝试在 Visual Studio 2022 中使用 VB6 32 位应用程序 编译 2002 年以来非常旧的应用程序 我们需要调试此应用程序并能够在 Windows 10 计算机上运行此应用程序 编译时 我们发现以下错误 这似乎是
  • 字典 API(词汇)[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道一个好的 NET 字典 API 吗 我对含义不感兴趣 而是我需要能够以多种不同的方式查询单词 返
  • System.Drawing.Image.Save 抛出ExternalException:GDI 中发生一般错误

    我有一个函数 它需要一个位图 复制它的一部分并将其保存为 8bpp tiff 结果图像的文件名是唯一的并且文件不存在 程序有权写入目标文件夹 void CropImage Bitmap map Bitmap croped new Bitma
  • 为什么我的 COM 对象不显示组件服务中的方法?

    我正在尝试创建一个 COM 对象并将其注册到 COM 下 一切似乎都很顺利 但是当我查看组件服务并深入了解时 控制台根目录 组件服务 电脑 我的电脑 COM 应用程序 测试通讯 组件 TestCom Com MyCom 接口 MyCom 方
  • 在 javascript 中访问 ajax POST 响应

    我正在从 javascript 函数发出 ajax POST 请求 function UpdateMetrics ajax type POST url MyHandler ashx Param1 value1 data contentTyp
  • 如何在 Asp.Net 页面上的一处处理所有错误/消息?

    我在这里寻找一些指导 在我的网站上 我将内容放入 Web 用户控件中 例如 我将有一个新闻项控件 一个文章控件 一个联系表单控件 这些将出现在我网站上的各个位置 我正在寻找一种方法 让这些控件将消息传递到它们所在的页面 我不想将它们紧密结合
  • MySql 最后插入 ID,连接器 .net

    我正在使用 MySql Connector net 我需要获取最后一个查询生成的插入 id 现在 我假设返回值是MySqlHelper ExecuteNonQuery应该是最后一个插入id 但它只返回1 我正在使用的代码是 int inse
  • Confuser .NET 混淆器。安全吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我目前正在开发一个应用程序 其中阻止用户反编译代码非常重要 现在 我意识到 如果由经验丰富的程序员执行 大多数 exe 都是可反编译的
  • ASP.NET MVC 路由 - 向路由添加 .html 扩展名

    我对 MVC 和路由非常陌生 我被要求修改一个应用程序以使用不同的 url 由于我没有经验 这项任务对我来说有点困难 好吧 让我们谈谈一些代码 routes MapRoute CategoryBySeName Route name prod
  • ASP.NET MVC 中 ModelState.AddModelError 中的关键参数有什么意义?

    我在我的控制器中添加了验证检查来修改ModelState如果验证失败 例如 private bool ValidateMoney string raw string name decimal min decimal max try var
  • Java有没有类似微软CHESS的工具?

    是否有类似于 Microsoft 的现有 Java 工具CHESS http research microsoft com chess 或者 CHESS 源代码是否开放 以便我可以尝试将其转换为 Java 谷歌的织线工 http code

随机推荐

  • 如何限制 Bootstrap Datepicker 中的可选日期范围?

    我需要使用日期选择器 它为我提供了限制可选日期的选项 我们一直在使用 jQuery UI 它用于使用 minDate maxDate 选项来支持它 id date datepicker minDate 1 maxDate 1M 10D 最近
  • 使平滑的锚标记滚动与滚动捕捉兼容

    我在用 html scroll behavior smooth 实现平滑滚动到 html 锚标记 我还使用启用垂直滚动捕捉scroll snap type and scroll snap align在 css 中 如下面的代码所示 问题是我
  • Jena Sparql 和构造

    CONSTRUCT是 SPARQL 结果子句的替代SELECT 不是返回结果值表 CONSTRUCT返回 RDF 图 例如 在以下 Java 代码中运行此查询会生成HttpException 406 Unacceptable 但如果不是CO
  • 该应用程序不允许查询方案 XYZ://

    您可能认为这是一个重复的问题 但事实并非如此 我完全知道有关该问题的所有答案canOpenURL及其在 iOS 9 上的注意事项 但这是我的问题 我正在尝试检查我的设备上是否安装了特定的应用程序 均由我开发 我已宣布该计划AppA as
  • 在 Python 中下载文件

    import urllib2 sys if len sys argv 3 print Usage download py
  • 为 iOS 模拟器构建,但链接框架“****.framework”是为 iOS 构建的

    我无法再在模拟器上运行我的应用程序 网上建议我编辑我的project pbxproj 但这似乎不起作用 如何重新获得在模拟器上运行项目的能力 并仍然能够在设备上执行此操作 我正在开发另一个项目 该项目使用许多相同的框架 但它在模拟器上运行
  • 存档时链接器命令失败

    我想要archiveReact Native 项目用户使用最新的 Xcode 但总是失败 因为链接器命令失败 当我跑步时xcodebuild verbose Ld命令 那么错误是这样的 ld file not found build xxx
  • 合并时不会出现空格冲突

    我遇到了一个问题 其中一个大型提交更改了大约一千行代码 删除了行尾的空格并删除了制表符之前的空格 该项目还有大约 50 个拉取请求 当我的提交被合并时 所有这些请求都会发生冲突 有没有什么方法可以设置 git 以便在合并未来的提交时 它会忽
  • 带前导零的数字的反转

    我们如何反转 number 中带有前导零的数字 例如 如果输入是004 输出应该是 400 我写了下面的程序 但它仅在输入中没有前导零时才有效 int num cout lt lt Enter number lt
  • Karate API - Hello World 示例,但 POST (GraphQL) 创建/检索用户

    我的场景中有两个 graphQL 帖子 就像 Hello World 示例一样 我想创建一个用户 API createUser 然后检索该用户 API getUser 以运行断言 我不确定它是否是 graphQL Post 查询让我绊倒的
  • Swift:将符合 FloatingPoint 的值转换为 Double

    我正在编写浮点协议的扩展 我想以任何可能的方式将其转换为 Double extension FloatingPoint var toDouble Double return Double exactly self 0 compile err
  • 如何从媒体存储中删除单个文件?

    这段代码有效 getActivity getContentResolver delete MediaStore Audio Media EXTERNAL CONTEN T URI TITLE songdetails get index so
  • 将容器从 ACR 部署到 AKS

    我有一个容器 其中有一个非常简单的 Web 应用程序 已上传到 Azure 容器注册表 我创建了一个 AKS 集群 现在我想将容器部署到 AKS 中 我找到了许多关于此的教程 但它们似乎都引用了 YAML 文件 而这些文件的解释很少或根本没
  • java - 比较月份和年份的两个日期值

    我需要匹配两个日期 如果它们的月份 年份相同 我应该返回 true 否则返回 false 根据我的搜索 我找到了以下解决方案 还有其他更好的方法来进行这种比较吗 Calendar cal1 Calendar getInstance Cale
  • 如何使用带通配符的 AzureSearch

    我想搜索名称为 14009 00080300 的字段 并且希望仅搜索其中的一部分 例如 14009 000803 时获得命中 使用这段代码我没有得到任何点击 search 14009 000803 count true top 10 有没有
  • SharedSecrets机制是如何工作的?

    jdk internal misc SharedSecrets自我描述为 共享秘密 的存储库 这是一种机制 调用另一个包中的实现私有方法而不需要 使用反射 包私有类实现了一个公共类 接口并提供调用包私有方法的能力 在该包内 实现该接口的对象
  • Visual Studio Express 2012 for Desktop 中没有 Metro 项目模板?

    两个下载页面桌面版 and 对于 Windows 8提供相同的 Web 安装程序 名为 Visual Studio Express 2012 for Windows Desktop 我安装了它 这是它的 新项目 窗口 In 本教程页面 它说
  • 如何使用 Accessstoken 通过图 api 向 Facebook 好友发送消息

    任何人都可以帮助我使用 graph api 向 Facebook 好友发送消息 I tried response facebook gt call api me feed post to john message You have a Te
  • Visual Studio:如何显示从基类继承的所有类?

    在 Visual Studio 中 如何显示从基类继承的所有类 例如 在 ASP NET MVC 中有几个 动作结果 类型 它们都继承 实现基类ActionResult 看起来除非你只是 知道 View and Json有效ActionRe
  • GZip 压缩在 IIS 7.5 上不起作用

    我试图在 IIS 下支持静态文件的 GZip 压缩 默认情况下应该启用 但没有 但到目前为止还没有工作 这是下面的部分