從輸入URL到頁面載入發生了什麼

2021-09-11 23:47:34 字數 1286 閱讀 2679

總體來說發生了以下幾個過程:

dnsj解析

tcp連線

傳送http請求

伺服器處理請求並返回http報文

瀏覽器渲染解析頁面

連線結束

dns解析就是確定那台計算機上有所需要的資源。網際網路上每台計算機的唯一標識就是它的ip位址,我們常用的是url,方便記憶。**到ip位址的轉換,就是dns解析。它實際上充當了乙個翻譯的角色。

dns解析是乙個遞迴呼叫的過程。當需要dns解析時,瀏覽器先在快取中查詢。如果找不到,則在本地網域名稱伺服器查詢ip位址,如果找不到本地網域名稱伺服器向根網域名稱伺服器發請求,如果根網域名稱伺服器也沒有,則本地網域名稱伺服器會向com頂級網域名稱伺服器傳送乙個請求,依次類推。

對於大型的**,每天要處理上億次請求,資源肯定不在一台電腦上,而是在多台電腦上。不會只有乙個ip位址,而是有多個ip位址。對於使用者來說,哪台機器處理請求不重要,dns可以找到乙個合適的機器ip返回給使用者,例如可以更加每台機器的負載量,機器離使用者的距離等。這種過程就是dns負載均衡,也叫dns重定向。cdn(內容分發網路)就是利用了dns重定向技術。

http報文是裹在tcp報文中傳送的,是明文傳輸,伺服器接收到tcp後會從裡面提取出http報文。但是這存在這安全問題,tcp報文可能會被截獲,會造成資訊洩露的風險。為解決這個問題,在http進入tcp包之前,先對http報文進行一次ssl加密,就可以保證安全的傳輸,這就是https。

四、http請求

http請求報文由三部分組成:請求行、請求頭、請求正文。

請求行:

get index.html http/1.1常用的方法有get,post,put,delete ,trace,options,head.

請求頭:

請求頭允許客戶端向伺服器傳遞請求的附加資訊和客戶端自身的資訊。

請求正文:

當使用post,put方法時,客戶端需要先伺服器傳資料,這時資料就儲存在請求正文中。

http響應由狀態碼,響應報頭和響應報文組成。

狀態碼:

狀態碼由3位數組成,第一位定義了響應類別,有五種可能取值。

響應報頭:

常見的響應報頭欄位有:server、connection

響應報文:

從輸入URL到頁面載入,發生了什麼

整理之前的筆記時,發現之前的掌握的東西尚差的太遠,就仔細查詢了這個問題。總體來說,可以分為一下幾個部分 1.dns解析 2.tcp連線 3.傳送http請求 4.伺服器處理請求並返回http報文 5.瀏覽器解析渲染頁面 6.連線結束 dns解析是將網域名稱轉換成ip的過程,從使用者在瀏覽器位址列輸入...

從輸入URL到頁面載入發生了什麼

最近在進行前端面試方面的一些準備,看了網上許多相關的文章,發現有乙個問題始終繞不開 在瀏覽器中輸入url到整個頁面顯示在使用者面前時這個過程中到底發生了什麼。仔細思考這個問題,發現確實很深,這個過程涉及到的東西很多。這個問題的回答真的能夠很好的考驗乙個web工程師的水平,於是我自問自答一番。總體來說...

從輸入URL到頁面載入發生了什麼

tcp連線 傳送http請求 伺服器處理請求並返回http報文 瀏覽器解析渲染頁面 連線結束 系統快取主要存在 etc hosts linux系統 中 http請求 2xx 成功 表示請求已被成功接收 理解 接受。3xx 重定向 要完成請求必須進行更進一步的操作。4xx 客戶端錯誤 請求有語法錯誤或...