http.sys
是Windows中的一個內核模式驅動程序,它極大地加快了傳入HTTP請求的處理和路由。它是在Windows NT 4的日子裏添加的,與Apache相比,它爲當時的nascant IIS提供了基準提升。當自承載ASP.NET核心 - 它使用http.sys如果可用?
對於那些不熟悉的:它是一個劫持傳入HTTP請求的組件(在端口80和443上,您可以配置它以監視其他端口),並根據其配置將它們路由到不同的用戶級應用程序,請參閱MSDN以獲取更多詳細信息:https://msdn.microsoft.com/en-us/library/windows/desktop/aa364510(v=vs.85).aspx
今天,如果您使用IIS來託管您的應用程序,您將利用http.sys
。
但是,我找不到任何有關自承載的ASP.NET Core應用程序是否將使用http.sys
(如果存在)的信息。
我發現[Rick Strahl]的這個頁面(https://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS)。 **他說:** 首先,如果您希望多臺應用程序在共享端口80和端口443的單臺服務器上運行,則無法直接運行Kestrel。 Kestrel不支持在一個IP地址上允許多個端口80綁定所需的主機頭路由。如果沒有IIS(或者實際上是http.sys),你目前無法單獨使用Kestrel來做到這一點(我認爲這也不是計劃中的)。 它看起來像,它不... – Legends
因此,如果它會在引擎蓋下使用http.sys,它也將支持主機頭路由,這就是我所理解的,也許我錯了... – Legends