天天看點

一張圖說明通路網站的流程一張圖說明通路網站的流程

最近看了一些關于web請求資源方面的知識,自己總結了一個流程圖,描述了打開浏覽器通路一個網站到網站被渲染出來的流程,希望對大家的學習有所幫助~

另外,給大家推薦一款畫圖很好用的chrome插件 gliffy ,我部落格裡的圖大部分都是用它畫的,非常的好用,而且是離線的,大家可以試試。

因為是流程圖的原因,大體的流程是ok的,但是其實裡面還有一些細節沒有涉及到,還請大神多多補充~

浏覽器不管是通路jsp、php還是asp.net,整體流程幾乎是一樣的。

根據主機名,會首先查找ip,首先查詢hosts檔案,成功則傳回其對應ip位址,如果沒有查詢到,則去查詢dns伺服器,成功就會傳回ip,否則會報告連接配接錯誤。

在host中有這麼幾句

是以通路localhost是本機ip,如果這裡改掉ip,localhost就會通路其他的ip

比較有意思的是,如果把localhost改成百度,那麼通路百度的時候就會通路本機ip

這裡是有一些安全機制的,浏覽器是會提醒host檔案異常的。

浏覽器會把自身相關資訊與請求相關資訊封裝成http請求消息改送給伺服器。

伺服器讀取http請求中的内容,在經過解析主機,解析站點名稱,解析通路資源後,會查找相關資源,如果查找成功,則傳回狀态碼200,失敗就會傳回大名鼎鼎的404,在伺服器監測到請求不存在的資源後,可以按照程式員設定的跳轉到别的頁面。是以有各種各樣的404錯誤頁面。

在伺服器請求資源的過程中,如php檔案會在伺服器運作之後再傳回。是以php等背景腳本是在伺服器運作的。

一張圖說明通路網站的流程一張圖說明通路網站的流程

伺服器會将請求的資源封裝成http響應

浏覽器得到傳回資料後可以會提取資料,然後調用解析核心進行翻譯,最後顯示出頁面。

之後浏覽器會對其引用的檔案比如圖檔,css,js等檔案不斷進行上述過程,直到所有檔案都被下載下傳下來之後,網頁就會顯示出來。

為了讓大家看得更清楚,就加了一個标簽,圖檔可能會橫向出去,但是也比看不清強。

一張圖說明通路網站的流程一張圖說明通路網站的流程

這裡附上原圖以及gliffy 原檔案的下載下傳位址:

<a href="http://download.csdn.net/detail/sunmc1204953974/9287599">http://download.csdn.net/detail/sunmc1204953974/9287599</a>

gliffy檔案需要使用chrome插件gliffy打開

希望對大家的學習有所幫助~