http.sys究竟是如何工作的

时间:2014-03-23 23:06:01

标签: http iis tcp windows-kernel http.sys

我正在努力深入了解IIS的运作方式。

我理解的http.sys是其主要组成部分之一。但是,我一直无法找到容易消化的信息。在我听说WSK之前,我无法获得良好的心理模型,然后我认为这一切都已落实到位。

通过大量随机谷歌搜索一些实验,这是我目前对其存在的原因及其如何实现的高层次理解。

为什么:

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

如何:

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

IIS,Web服务或任何想要使用http的内容都使用唯一的URL /端口组合向http.sys注册。 http.sys使用WSK在此端口上打开一个套接字(如果它还没有用于具有相同端口的另一个url / port组合)并监听。

当传输层(tcpip.sys)重新将一个ip数据包重新加载回客户端发送的http请求时,它会通过请求中的端口将其提供给http.sys。 Http.sys使用url / port编号向它发送适当的进程,然后解析它。

我知道我似乎正在回答我自己的问题,但我真的不确定自己这个并希望有一些关闭,所以我可以继续处理更多有趣的事情。

我离开了吗?

0 个答案:

没有答案