有時候我們會發現當我們訪問乙個iis**時,使用**可以正常訪問,但是使用ip卻不行,這是什麼原因呢?
原來iis可以使用乙個ip位址和埠繫結多個**,這些**的ip位址與埠都一樣,因此在客戶端或瀏覽器中使用ip訪問iis會失敗,因為單單根據ip位址iis無法確定你要訪問的具體是哪乙個**,此時必須使用主機名也就是**,才能訪問到相應的**。其工作原理如下文所述。
iis收到http請求後,首先根據ip位址,找打所有繫結到該ip和埠的站點,然後根據http header的host屬性從這些**中查詢對應的host header設定,找到後,把http請求交給該站點處理。如果沒找到相應的**,則尋找這些站點中沒有設定host header的站點,把http請求交給它處理。最後iis把處理完的資訊再傳送給客戶端。
iis處理請求隨記回顧
http是無狀態的,每次http請求戶不影響,都是獨立的 不會記的上次請求 httpcontext 兩個物件 httprequest 封裝http請求 和httpresponse 封裝相應響應 請求的報文 httprequest解析請求報文,分割請求體的各個部分 請求原理總結 並將請求報文資訊封裝到...
IIS如何確定請求的處理程式
1.給定乙個url請求,iis需要確定它的檔名,副檔名,以及最相似的與本請求資源合適的 scriptmaps metadata 快取的isapi擴充套件 應用程式副檔名對映列表 2.iis檢查是否有設定了的應用程式萬用字元,若有則匹配第一條應用程式副檔名對映 如果這個擴充套件對映返回 我不處理這類請...
SpringMVC處理請求的執行原理
spring的web框架圍繞dispatcherservlet設計。dispatcherservlet的作用是將請求分發到不同的處理器。當發起請求時被前置的控制器攔截到請求,根據請求引數生成 請求,找到請求對應的實際控制器,控制器處理請求,建立資料模型,訪問資料庫,將模型響應給中心控制器,控制器使用...