2015-02-10 31 views
0

當一個請求進入IIS,如何IIS知道該請求是ASP.NET,而不是別的東西一樣,比方說,PHP。IIS如何知道Web請求是針對ASP.NET而不是針對其他內容的?

我猜測,事實並非如此。所有IIS都會查找HTTP請求標頭中請求的域,並將請求路由到託管在該網站名稱上運行的IIS中的應用程序。但是,那麼aspnet_isapi.dll在解決請求方面做了什麼?只有當請求已經在ASP.NET中時,庫纔會起作用嗎?

回答

0

你明白了非常正確的。基本上,IIS充當任何可能需要響應給定請求的Web應用程序的控制器。當請求進入時,IIS通過檢查對定義的綁定的請求,將它路由到適當的應用程序。如果它找到匹配的綁定,它會檢查相應的應用程序是否已經初始化,如果沒有,將執行初始化。然後它傳遞請求,Web應用程序將處理請求並生成響應。

重要的是,Web應用程序是不是一個asp.net網站或應用程序一定的代名詞。 IIS也可以託管郵件服務器,FTP站點,(我相信)PHP應用程序,等等。然而,在每種情況下,仍然必須定義一個綁定,並且必須有一個IIS可以初始化和查詢狀態的引擎。

+0

至於請求是如何得到IIS而不是在系統上運行的其他一些軟件,這是[完全是另外一個問題完全](http://stackoverflow.com/questions/13895542/http-sys-implementation)。 – 2015-02-10 07:06:17

相關問題