輸入url發生了什麼

2021-10-08 17:13:31 字數 2379 閱讀 3977

1、瀏覽器的位址列輸入url並按下回車

2、dns解析url對應的ip

3、根據ip位址建立tcp連線

4、http發起請求

5、伺服器處理請求,瀏覽器接受http響應

6、渲染頁面,構建dom樹

7、關閉tcp連線

1、輸入url

常見的url是形如:http:這個網域名稱由三部分組成:協議名、網域名稱、埠號,這裡埠號是預設的埠號80所以隱藏。除此之外,url還會包含路徑、查詢和其他片段,例如等。在瀏覽器中輸入**的時候,瀏覽器其實可以只能匹配url了,它會從歷史記錄,書籤等地方找到已經輸入的字串可能對應的url,以便於補全url位址。

2、dns解析url

由於使用者更容易記住形如www.baidu.com的**的名字,而不是記住它的ip位址。而計算機更容易記住它的ip位址,所以需要進行dns。

dns是乙個網域名稱系統,是網際網路上做為網域名稱和ip位址相互對映的乙個分布式資料庫,能夠使使用者更方便的訪問網際網路,而不需要記住它的ip位址。

dns查詢的兩種方式

1)遞迴解析

2)迭代解析

解析的過程

1)請求一旦發起,瀏覽器首先就是解析這個網域名稱,一般來說,瀏覽器會首先檢視本地硬碟的hosts檔案,看看其中有沒有和這個網域名稱對應的規則,如果有的話就直接使用hosts檔案裡面的ip位址。一般hosts路徑位於c:\windows\system32\drivers\etc

2)如果本地的hosts檔案沒有能夠找到對應的ip位址,瀏覽器會發出乙個dns請求到本地dns伺服器。本地dns伺服器一般是由自己的網路接入伺服器商提供,比如中國電信等。

3)查詢你輸入的**的dns請求到達本地dns伺服器後,本地dns伺服器會首先查詢它的快取記錄,如果快取中有這個記錄,就可以直接返回結果,此過程是遞迴的方式進行查詢。如果沒有,本地dns伺服器還要向dns根伺服器進行查詢。

4)根dns伺服器沒有記錄具體的網域名稱和ip位址的對應關係,而是告訴本地dns伺服器,你可以到域伺服器上去繼續查詢,並給出域伺服器的位址。這個過程是迭代的查詢的過程。

5)本地dns伺服器繼續向域伺服器發出請求,若請求的物件是.com域伺服器。.com域伺服器收到請求後,也不會直接返回網域名稱和ip位址的對應關係,而是告訴本地dns伺服器,你的網域名稱的解析伺服器的位址

6)最後,本地dns伺服器向網域名稱的解析伺服器發出請求,這時就能收到乙個網域名稱和ip位址對應關係,本地dns伺服器不僅要把ip位址返回給使用者電腦,還要把這個對應關係儲存在快取中,以備下次別的使用者查詢時,可以直接返回結果。

3、根據查詢到的ip位址進行建立tcp連線

1)第一次握手:建立連線時,客戶端傳送syn包(syn=j)到伺服器,並進入syn_sent狀態,等待伺服器響應。

2)第二次握手:伺服器收到syn包,確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態

3)客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1)傳送完畢後進進established狀態,伺服器收到這個包後也進入established狀態,三次握手完成。

4、傳送http請求

5、伺服器處理請求,瀏覽器接受http響應

伺服器在收到瀏覽器傳送的http請求之後,會將收到的http報文封裝成http的request物件,並通過不同的web伺服器進行處理,處理完的結果以http的response物件返回,主要包括狀態碼,響應頭,響應報文三個部分。

狀態碼主要包括以下部分

1xx:指示資訊–表示請求已接收,繼續處理。

2xx:成功–表示請求已被成功接收、理解、接受。

3xx:重定向–要完成請求必須進行更進一步的操作。

4xx:客戶端錯誤–請求有語法錯誤或請求無法實現。

5xx:伺服器端錯誤–伺服器未能實現合法的請求。

6、構建dom樹

在瀏覽器沒有完整接受全部html文件時,它就已經開始顯示這個頁面了.

webkit的渲染過程:解析html以構建dom樹 -> 構建render樹 -> 布局render樹 -> 繪製render樹

7、關閉鏈結

輸入url後到頁面載入發生了什麼

最近在學習web基礎知識,發現有乙個很基礎但也比較重要的問題,我們在輸入url後按下回車鍵到底發生了什麼,這中間涉及到較多問題,我就簡單的總結一下 大概的步驟是這樣 dns解析 建立tcp連線 傳送http請求報文 伺服器接收請求並返回響應報文 瀏覽器對返回報文進行處理並顯示出來 結束我們日常中輸入...

瀏覽器輸入URL發生了什麼

這是一道經典的面試題,這道面試題不光前端面試會問到,後端面試也會被問到。這道題涉及很多的知識點,面試官會通過這道題了解你對哪一方面的知識比較擅長,然後繼續追問看看你的掌握程度。當然我寫的這些也只是我的一些簡單的理解,從前端的角度出發,我覺得首先回答必須包括幾個基本的點,然後在根據你的理解深入回答。1...

從輸入URL到顯示發生了什麼

使用者階段 合成 url 使用者輸入 url,瀏覽器會根據使用者輸入的資訊判斷的資訊是搜尋還是 如果是搜素內容,就將搜尋內容 預設搜尋預設搜尋引擎合成新的 url 如果使用者輸入的內容符合 url 規則,瀏覽器就會根據 url 協議,在這段內容上加上協議合成 url 載入 使用者輸入完內容,按下回車...