我知道微软创buildHTTP.SYS来提高IIS的性能。 我的问题是HTTP.SYS是否处理所有应用程序的HTTP通信? 那么如果使用Winsock来接收HTTPstream量,例如JVM是HTTP.SYS透明地通过Winsock API传递这些数据呢? 或者Winsock在新的Windows内核上被HTTP.SYS所取代?
据我所知,微软在文档中并不清楚这一点。
应用程序可以选择使用http.sys。 他们可以选择实现自己的HTTP协议处理程序。
强烈建议应用程序出于安全原因使用http.sys – 由http.sys实现的HTTP服务器已经很好地强化了,其他HTTP服务器可能会引入安全缺陷。
据我所知,HTTP.SYS与TCP堆栈进行通信,而不是NDIS(否则,它将不得不在内部实现所有的TCP,这没有多大意义)。
Winsock是低于HTTP的套接字级别,所以我不认为它通过Http.Sys。
Internet Explorer使用Wininet进行HTTP通信,而在Vista中通过它不使用Http.sys。
编辑我认为这本书“Windows内部”将回答你的问题。