2012-12-15 117 views
2

我们都知道在我们的Windows中为我们执行HTTP处理的操作系统中有一个名为http.sys 的内核模式驱动程序。这基本上是我们所知道的。http.sys实施

但今天我想:嘿,我们所有的网络东西,如TCP/IP,还有这里,在userland - ws2_32.dll的提供者(mswsock.dll)及其所有朋友。由于有userland组件,http.sys没有办法使用它们。问题是:他们如何做到这一点?任何信息链接将不胜感激。

+1

你对http.sys做了什么错误的心理模型。它仅解决了希望在端口80上收听太多节目的问题。在codeproject.com上有一篇很好的文章:http://www.codeproject.com/Articles/437733/Demystify-http-sys-with-HttpSysManager –

回答

0

http.sys仅用于侦听HTTP/HTTPS请求的服务器组件 - 基本上IIS依赖它来实现良好的性能。它不用于使用Winsock库进行任何客户端请求。你可以阅读更多here

+0

是真的。但这不是我所问的。我想知道的是http.sys如何进行网络通信。 –

+0

它的网络通信是相当有限的 - 它只需要创建监听套接字并检查该套接字上的内容,然后将此信息公开给用户空间应用程序。你不需要大量的智力来做这个 – mvp

+0

同意。再次,问题是 - **如何**。 :-) –