首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Windows10中禁用HTTP.SYS和IIS中的HTTP/2 / SPDY

基础概念

HTTP.SYS 是 Windows 操作系统中的一个内核驱动程序,负责处理 HTTP 请求。它支持 HTTP/1.1 和 HTTP/2 协议。

IIS (Internet Information Services) 是微软提供的一个强大的 Web 服务器,支持多种协议和功能,包括 HTTP/2。

HTTP/2 是一种用于 Web 流量的传输协议,旨在提高 Web 性能,减少延迟,增加安全性。

SPDY 是由 Google 开发的一种协议,旨在通过减少 Web 页面加载时间来改进 HTTP/1.1。HTTP/2 在很大程度上基于 SPDY 的设计。

禁用 HTTP.SYS 和 IIS 中的 HTTP/2 / SPDY 的原因

  1. 兼容性问题:某些应用程序或服务器配置可能不完全支持 HTTP/2 或 SPDY,导致兼容性问题。
  2. 性能问题:在某些情况下,HTTP/2 可能不如 HTTP/1.1 性能好,尤其是在低带宽或高延迟的网络环境中。
  3. 安全考虑:某些组织可能出于安全考虑,选择禁用较新的协议。

如何禁用 HTTP.SYS 和 IIS 中的 HTTP/2 / SPDY

禁用 HTTP.SYS 中的 HTTP/2

  1. 打开注册表编辑器(regedit)。
  2. 导航到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. 创建一个新的 DWORD 值,命名为 EnableHttp2Tls,并将其值设置为 0
  4. 创建另一个 DWORD 值,命名为 EnableHttp2Cleartext,并将其值设置为 0
  5. 重启计算机以使更改生效。

禁用 IIS 中的 HTTP/2 和 SPDY

  1. 打开 IIS 管理器。
  2. 选择你的网站,双击“HTTP/2”图标。
  3. 将“启用 HTTP/2”选项设置为“禁用”。
  4. 双击“SPDY”图标(如果存在),将“启用 SPDY”选项设置为“禁用”。
  5. 应用更改并重启 IIS。

应用场景

禁用 HTTP/2 和 SPDY 可能适用于以下场景:

  • 老旧应用程序:这些应用程序可能不完全支持 HTTP/2 或 SPDY,禁用这些协议可以避免兼容性问题。
  • 特定网络环境:在某些网络环境中,HTTP/1.1 可能比 HTTP/2 更稳定或更快。
  • 安全策略:某些组织可能有严格的安全策略,选择禁用较新的协议以减少潜在的安全风险。

参考链接

通过上述步骤,你可以成功禁用 Windows 10 中的 HTTP.SYS 和 IIS 中的 HTTP/2 / SPDY。请确保在进行这些更改之前备份相关配置,并在测试环境中验证更改的影响。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从SPDY到HTTP2:Google的革命性协议及其在Go中的应用

今天,我们将探讨Google发明的SPDY协议以及其在HTTP/2中的重要作用,并用Go语言演示如何创建一个HTTP/2服务器。...通过这些方法,SPDY大幅提高了用户在网页浏览和在线应用中的体验。 SPDY和HTTP/2的关系 HTTP/2,正如其名字所暗示的,是HTTP协议的下一个主要版本。...HTTP/2标准化的过程中,SPDY起到了举足轻重的作用。通过Google的SPDY实验,HTTP/2可以在其设计阶段验证并采用了许多有效的性能改进措施。...所以,我们可以说HTTP/2在很大程度上就是SPDY的进化版。 Go中创建HTTP/2服务器 Go语言因其出色的性能和并发支持而在网络编程中备受青睐。以下是一个简单的Go语言HTTP/2服务器示例。...尽管SPDY已被HTTP/2取代,但它在HTTP/2的设计和开发过程中起到了关键的作用。通过Go语言,我们可以轻松地建立HTTP/2服务器,从而充分利用HTTP/2为我们带来的性能优势。

55420

在HTTP2中管理CSS和JS

在HTTP/2的时代里,在你的网站里发布CSS和JS跟以前大不相同了,以下是我实践的一份建议。 我们听说HTTP/2已经很多年了,我们也写过一些相关的博客。但是我们并没有怎么使用它。...直到现在,在一些最近的项目里,我把使用HTTP/2设定为一个目标,并且想出怎样最好的使用多路复用特性。...这篇文章并不是来说明你为什么需要使用HTTP/2,而是讨论我是怎么在这种规范的转变中管理CSS和JS的。 拆分CSS 这是我们多年以来的最佳实践的反例。...modules 文件夹 在我们的HTTP/2设置中这是最重要的文件夹。当我拆分样式到对应的模块,这个文件夹会包含非常非常多的文件。所以一个子文件夹就是一个模块: ?...不,但至少让你知道一种标准的方法来管理你的HTTP/2资源。随着我们思考如何更好的利用HTTP/2来分离代码,我非常期待这份方案会越来越完善。

3.5K30
  • 在ASP.Net和IIS中删除不必要的HTTP响应头

    转载:http://www.cnblogs.com/CareySon/archive/2009/12/14/1623624.html 为了看到从服务器和浏览器之间通信的HTTP头,你需要在浏览器安装一些插件....比如说Fiddler就是一个微软发布的免费的用于记录HTTP日志的软件。...而这些HTTP日志会包含HTTP头,在这篇文章中我会假设读者已经熟悉了这个软件,假如你并不熟悉这个软件的话,我推荐阅读Troubleshooting Website Problems by Examining...使用Fiddler,找一个使用IIS和Asp.net的Web服务器,比如微软asp.net官方网站,通常在默认情况下,HTTP响应头会包含3个Web服务器的自身识别头....Asp.net MVC的话): X-AspNetMvc-Version:1.0        这些服务器自身识别信息在大多数情况下并不会被浏览器使用,因此可以被安全的移除,这篇文章的余下部分将会讲述如何移除这些

    1.9K10

    【译】在ASP.Net和IIS中删除不必要的HTTP响应头

    头       X-Powered-By HTTP头并不只是在Asp.net中存在,其他服务端语言,比如PHP,也会包含这个HTTP头,当Asp.net被安装时,这个头会作为一个定制的HTTP头插入IIS...中,因此,我们需要将这个HTTP头从IIS的配置中删除,如果你的网站是在共享的环境下并且没有使用IIS7并使用管道模式,你不得不为此联系你的空间提供商来帮你移除。...(如果你的网站是在IIS7环境下,那你可以通过HTTP Module的形式通过编程来移除)      在IIS6中移除X-Powered-By HTTP头: 启动IIS Manager 展开Website...目录 在Website上点击右键并在弹出的菜单中选择属性 选择HTTP Header标签,所有IIS响应中包含的自定义的HTTP头都会在这里显示,只需要选择响应的HTTP头并点击删除就可以删除响应的HTTP...("Server");    Howard von Rooijen的文章更深层次的论述了如何在IIS7和整合管道模式中移除Server Http头,更多细节,请查看:Cloaking your ASP.NET

    3.1K10

    HTTP.SYS远程代码执行漏洞(蓝屏洞)「建议收藏」

    1.简介 远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。...成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码。不过我看了一下这个HTTP.SYS还发生过其他的远程代码执行漏洞,我还是表明它的漏洞编号吧。...CVE-2015-1635(MS15-034 ) 而HTTP.SYS是一个位于Win2003和WinXP SP2中的操作系统核心组件,能够让任何应用程序通过它提供的接口,以http协议进行信息通讯。...2.危害 利用HTTP.sys的安全漏洞,攻击者只需要发送恶意的http请求数据包,就可能远程读取IIS服务器的内存数据,或使服务器系统蓝屏崩溃。...4.漏洞防御 官方补丁下载:https://support.microsoft.com/zh-cn/kb/3042553 临时解决办法: * 禁用IIS内核缓存 这是我在挖edu时看到的一个比较简单的漏洞

    92410

    HTTP.sys漏洞验证及防护

    使用发包工具构造http请求包检测 以fiddler工具为例,构造如下图的请求包: 1 GET http://192.168.174.145/ HTTP/1.1 2 Host: 192.168.174.145...http.sys漏洞防护 经过上面的漏洞检测步骤后,如果确认您的业务环境中存在http.sys漏洞,那么就需要尽快制定并启动加固方案,这些加固从漏洞补丁开始,到产品防护,到整体防护,逐步推进。...漏洞加固 使用IIS的用户,可以通过Windows Update的方式获得对应的KB3042553热修补补丁,建议用户开启自动更新服务以及时安装最新补丁,相关公告请见: http.sys漏洞补丁公告:http...://technet.microsoft.com/security/bulletin/MS15-034 如果您的业务系统暂时还无法升级补丁,那么可通过禁用IIS 内核缓存来临时缓解此漏洞的危险,但需要注意这可能会导致...IIS加固 虽然IIS7中http.sys已经独立出来成为系统级驱动程序,但以史为鉴,建议用户在安装补丁的同时也需要考虑IIS加固事项,具体的最佳实践请参考: IIS7加固方案: https://technet.microsoft.com

    70620

    HTTP.sys远程执行代码漏洞验证及复现——CVE-2015-1635、MS15-034

    目录 漏洞概述 漏洞环境部署 漏洞验证 漏洞利用:ms15_034 漏洞防御 ---- 漏洞概述 HTTP.sys简介 HTTP.sys是Microsoft Windows处理HTTP请求的内核驱动程序...,为了优化IIS服务器性能,从IIS6.0引入,IIS服务进程依赖HTTP.sys。...HTTP.sys远程代码执行漏洞实质是HTTP.sys的整数溢出漏洞 漏洞成因 远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP...影响版本 任何安装了微软IIS 6.0以上的的Windows 7、Windows Server 2008 R2、 Windows Server 2012 R2 、Windows Server 2012...,即可查看),旗舰版、企业版和专业版有IIS功能,家庭版和简易版是没有的。

    7.3K21

    IIS的架构介绍

    IIS10 随着Windows10和Windows Server2016发布,完美支持HTTP2.0。...http.sys中包含有HTTP引擎,专门用于对HTTP请求进行分析和解析,即从HTTP请求中分析出头部数据、查询串和域名等信息。...以上就是http.sys的主要工作原理,IIS管理员可以通过修改配置的方式设定缓存策略和大小以及等待队列的长度(这些在后续章节都会有详细的介绍),但无法通过编程的方式控制http.sys的行为。...1.4.2 IIS的应用层实现   http.sys在内核态上处理完HTTP请求后,IIS就会把HTTP请求对应的HTTP上下文对象转到对应的应用程序进程中,由对应的w3wp.exe进程对请求进行处理。...②http.sys驱动联络WAS服务,从配置文件中获取网站相关的配置信息。 ③WAS服务请求从配置文件中获取网站相关配置信息。 ④服务接收到网站相关的诸如应用程序池和站点配置等配置信息。

    2.1K10

    Tomcat配置域名、ip访问及解决80端口冲突

    ="" docBase="Tea"/>(Tea项目在webapps下)   其中docBase中的内容就是你希望的打开您的域名(www.zjhuiwan.com) 的时候映射到的目录和默认的网页(如:index.jsp...III.原因: 主要是与http协议有关的进程,进行网上访问的系统级别的进程最频繁占用80端口。比如Http.sys。它是http API的驱动组件,Http栈服务器。...如果该端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行。...通过services表(服务表)中,我们发现这里的BranchCache 依赖了HTTP.SYS这个内核驱动。     手动禁用即可。   ...B.未知进程,即system进程(win7 system默认占用):     i.禁用http.sys     输入net stop http,然后确认继续操作,在输入Sc config http start

    5.4K10

    学习asp.net_IIS6.0进程模型

    当IIS6.0进程模型正在使用时,内置的ASP.NET工作进程会被禁用。   注意:只有asp.net1.1完全利用IIS6.0进程模型。...下图为IIS6.0进程模型   IIS6.0作为内核级模块实现其HTTP监听程序。因此,所有的输入请求首先由http.sys驱动程序以内核模式进行管理。...没有任何的第三方代码会与该监听程序交互,并且没有任何的用户模式冲突会影响IIS的稳定性。http.sys驱动程序监听请求,并把他们投递到合适的应用程序池的请求队列。...一个称为饿哦Web管理服务的模块读取IIS冤苦,并指示http.sys驱动程序创建与元库中所注册应用程序池一样多的请求队列。   ...总之,在IIS6.0进程模型下,asp.net运行的更快,因为在inetinfo.exe可执行进程和工作进程之间,不需要任何进程间的通信。http请求直接在托管CLR的工作进程中被交付。

    1.7K00

    深入剖析HTTP和HTTPS代理在爬虫中的应用价值

    在当今信息时代,数据是无处不在且极其宝贵的资源。对于从互联网上获取大量结构化或非结构化数据的需求而言,网络爬虫成为一种强有力的工具。然而,在实际操作过程中,我们常常会面临许多挑战和限制。  ...这时候引入HTTP和HTTPS代理可以发挥重要作用,并显著提高我们爬虫程序的效率与成功率。  首先,让我们了解一下什么是HTTP和HTTPS代理以及它们如何运作。...Proxy的请求,确保数据传输过程中得到加密和安全性的保护。...在实际操作方面,我们可以借助一些流行且功能强大的Python库来使用HTTP/HTTPS代理。...例如,在Python中,Requests库提供了简单而直观的API用以发送HTTP请求,并支持通过proxies参数设置相应代理;另外还有TorNado和Scrapy等框架也都内置了完善Proxy相关模块及配置选项

    20120

    提权(2) windows权限分析

    http.sys它是一个驱动文件,它实现了缓存、端口服用、还有加了队列处理的功能,整体来说网站运行的效率和安全性高很多。然后这个驱动文件整合进内核,所以不怕被删掉,删掉了也可以重建。...2003的默认权限: 1、 只安装静态的html页面显示所需的组件 2、 不允许动态的内容 3、 匿名账户不在有web服务器根目录的写权限(增强文件的访问控制) 4、 父目录被禁用,可以避免攻击者跨越...HTTP.sys 中所有的代码都是以Local System权限执行的 所有的工作进程都是用Networkservice的权限执行的 Network service是windows 2003中心内置的一个被严格限制的账户...最后要提及的一点是关于在webshell中运行命令和在cmd中运行命令的区别 ? ? 为什么会出现权限的不同呢?...这个认知了,其他的都差不多了~ 可以去做这么两个实验: 实验1:webshell权限和本机操作权限 实验2:不同平台(如自带的iis和phpstudy)下的webshell权限 关于http.sys这个文件在

    2K30

    使用WCF进行跨平台开发之二(IIS托管WCF服务并使用php平台调用)1.系统必备2.在IIS中托管WCF服务3.使用PHP调用托管在IIS中的WCF服务

    上一篇中,使用控制台托管了WCF服务,但是如果想从PHP和java平台调用,必须将其托管到IIS中(并不是必须的,还是有其他的方式的 比如windows azure) 1.系统必备      首先,必须打开...IIS和WAS,如果没有,可以在控制面板--程序--打开或关闭Windows功能打开。     ...2.在IIS中托管WCF服务      在IIS默认网站中添加应用程序emp,并在高级设置中,设置应用程序池为“ASP.NET v4.0”,并设置默认网站右键--编辑版定,在http类型中编辑IP地址和主机名...bin目录,并复制上一篇中生成的Implemention.dll和Contracts.dll,至此,服务已经托管到了IIS中。...3.使用PHP调用托管在IIS中的WCF服务 在PHP服务器中打开浏览器,并浏览http://192.168.11.1/emp/EmployeeManagement.svc测试服务是否托管正常。 ?

    2.1K70

    HTTP.SYS远程代码执行漏洞

    HTTP.SYS远程代码执行漏洞 1、漏洞描述 HTTP.SYS是Microsoft Windows处理HTTP请求的内核驱动程序,为了优化IIS服务器性能,从IIS6.0引入,IIS服务进程依赖HTTP.SYS...HTTP.SYS远程代码执行漏洞实质是HTTP.SYS的整数溢出漏洞,当攻击者向受影响的Windows系统发送特殊设计的HTTP 请求,HTTP.sys 未正确分析时就会导致此漏洞,成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码...该漏洞主要存在Windows+IIS的环境下,任何安装了微软IIS 6.0以上的Windows Server 2008 R2/Server2012/Server 2012 R2以及Windows 7/8...2、漏洞影响 Windows7、Windows server 2008 R2、Windows8、Windows server2012、Windows8.1和Windows server 2012 R2...Not Satisfiable,则存在HTTP.SYS远程代码执行漏洞。

    1.7K20

    ASP.NET Core WebListener 服务器

    R2和更高版本 查看或下载示例代码 何时使用WebListener 当你需要将服务器直接暴露到互联网上并且不使用IIS部署时,WebListener会是一个有效的选择。...因为WebListener基于Http.Sys构建,它不会请求反向代理服务器防御攻击。对于防御多类攻击下和保证全功能服务器的健壮性,安全性以及可扩展性而言,Http.Sys是一种成熟的技术。...在应用的Main方法中调用WebHostBuilder的扩展方法UseWebListener,并指定你需要的WebListener选项和参数,如以下示例所示: public static int Main...在Visual Studio中,项目的默认启动配置服务器是IIS Express。为了能够在console应用中运行项目,你必须手动更改所选配置文件,如以下屏幕截图所示: ?...在IIS中,图形化管理界面可以提供给你一个相对容易的方式去进行配置。但是如果你用的是WebListener,那么你需要自己使用内置工具netsh.exe去配置Http.Sys。

    3.7K70
    领券