2012-12-15 115 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

同意。再次,問題是 - **如何**。 :-) –