http.sys 究竟是如何工作的[关闭]

2024-03-25

我正在尝试更深入地了解 IIS 的工作原理。

我理解 http.sys 是它的主要组件之一。然而,我一直很难找到有关它的易于理解的信息。在我听说 WSK 之前,我无法建立一个良好的思维模型,然后我认为一切都已就位。

通过大量的随机谷歌搜索和一些实验,这是我目前对它存在的原因以及它如何做的高级理解。

Why:

端口共享和更高性能的缓存。

How:

用户模式进程使用 WinSock api 打开侦听端口的套接字以访问网络子系统,例如TCP/IP。像 http.sys 驱动程序这样的内核模式软件使用 Winsock Kernal Sockets (WSK) api 来使用与 WinSock api 相同的 TCP 端口号池来实现相同的目的。

IIS、Web 服务或任何想要使用 http 的东西都会使用唯一的 url/端口组合将自身注册到 http.sys。 http.sys 使用 WSK 在此端口上打开一个套接字(如果尚未针对具有相同端口的另一个 url/端口组合)并进行侦听。

当传输层 (tcpip.sys) 将大量 ip 数据包重新构建为客户端发送的 http 请求时,它会通过请求中的端口将其提供给 http.sys。 Http.sys 使用 url/端口号将其发送到适当的进程,该进程可以根据需要对其进行解析。

我知道这似乎是我在回答我自己的问题,但我真的对此不太确定,并且想要一些结束,这样我就可以继续做更有趣的事情。

我很接近吗?


None

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

http.sys 究竟是如何工作的[关闭] 的相关文章

随机推荐