http.sys是什么东西

http.sys是什么东西,第1张

http.sys是一个位于Win2003和WinXP

SP2中的操作系统核心组件,能够让任何应用程序通过它提供的接口,以http协议进行信息通讯。如果用户不慎删除了该驱动文件,不用担心,该驱动会在下次系统启动时重建。是一个删不掉的系统核心组件!实用程序结束该驱动,该驱动也会马上重新创建(只有粉碎文件才不能马上重建,但粉碎后,下次启动会重建)。

新的HTTP

API里最核心的变化都封装在Http.sys这个kernel

mode

driver里了。在此之前,基于HTTP协议的程序都是在User

mode下运行的,而且必须自己处理诸如软件中断、context

switch、线程调度等等问题,并且往往无法自由接触系统资源。过去,HTTP服务器,如IIS,

Apache等都是利用Winsock

API来创建一个User

mode下的network

listener。Network

listener通常独自(i.e.:

per

application

or

per

thread

basis)占用一个IP端口。通俗点说,就是在同一时间只有一个应用程序可以监听一个端口,这在有些时候是一个不太令人舒服的限制。

新的Http.sys带来的好处大致有如下一些:

1.

缓存

静态的内容现在被缓存于内核模式下,这使服务响应速度更快

2.

记录

(Log)-IIS的log功能更快且标准化了

3.

带宽控制

greater

scalability

control

and

throttling

4.

可靠性

所有的服务请求会在Http.sys里暂存入队列,而不是由服务程序本身来处理,这样,即使服务程序重启,尚未被处理的请求也不会丢失了

5.

IP端口重用

现在,只要是通过Http.sys管理的端口(基本包括了那些著名的端口,比如80),都可以同时允许多个程序同时监听了。

所以,不必对它进行阻止,应该让它运行。

如何解决80端口被占用?

1.首先使用netstat命令查看80端口被谁占用,操作命令如下

netstat

-ano

|more

上图显示80端口被pid4

system占用

2.其次分析端口被占用原因,该进程是Http.sys。它是http

API的驱动组件,Http栈服务器。如果该端口被Http.sys占用,说明一些正在使用http.sys的应用程序在运行。netsh

http

show

servicestate

命令能找出是哪个应用程序在使用Http.sys

3.最后解决问题。可以禁用http.sys

1.

net

stop

http

2.

Sc

config

http

start=

disabled


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/704730.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-05
下一篇2023-08-05

发表评论

登录后才能评论

评论列表(0条)

    保存