當瀏覽器發送 https://localhost/Demo.aspx 這樣的請求時,伺服器端究竟發生了什麼?並非所有請求都會進入 ASP.NET,IIS 內建的 http.sys 是第一道防線。
http.sys 是 Windows 核心模式的 HTTP 協議堆疊,負責接收原始網路封包、解析 HTTP 請求並進行初步驗證。若 URL 不符合規範(如過長、含非法字元、方法不支援等),http.sys 直接拒絕,請求不會傳遞給使用者模式的 IIS 或 ASP.NET,有效降低伺服器負載。
理解 http.sys 的運作邏輯,有助於排查「請求為何未進入 ASP.NET」、「400 Bad Request 來源」等常見問題。下圖展示其處理流程:

下一篇將續談請求如何穿越 aspnet_filter 進入 ASP.NET 管線。