當在瀏覽器中輸入乙個url後回車,後台發生了什麼?

2021-06-26 00:12:46 字數 998 閱讀 8805

面試中被問到:當在瀏覽器中輸入乙個url後回車,後台發生了什麼?

1.瀏覽器快取 – 瀏覽器會快取dns記錄一段時間。 有趣的是,作業系統沒有告訴瀏覽器儲存dns記錄的時間,這樣不同瀏覽器會儲存個自固定的乙個時間(2分鐘到30分鐘不等)。

2.系統快取 – 如果在瀏覽器快取裡沒有找到需要的記錄,瀏覽器會做乙個系統呼叫(windows裡是gethostbyname)。這樣便可獲得系統快取中的記錄。

3.路由器快取 – 接著,前面的查詢請求發向路由器,它一般會有自己的dns快取。

4.isp dns 快取+遞迴搜尋,詳細如下:

第二步是瀏覽器給web伺服器傳送乙個http請求,第三步是伺服器接收到獲取請求,然後處理並返回乙個html響應。

具體步驟如下:

1.http客戶初始化乙個與伺服器主機www.yesky.com中的http伺服器的tcp連線。http伺服器使用預設埠號80監聽來自http客戶的連線建立請求。這裡面包括tcp三次握手神馬的(http是建立在tcp/ip上的),涉及到socket通訊的種種過程。

2.http客戶經由與tcp連線相關聯的本地套接字發出—個http請求訊息。這個訊息中包含路徑名/somepath/index.html。

3.http伺服器經由與tcp連線相關聯的本地套接字接收這個請求訊息,再從伺服器主機的記憶體或硬碟中取出物件/somepath/index.html,經由同乙個套接字發出包含該物件的響應訊息(mvc模型)。

4.http伺服器告知tcp關閉這個tcp連線(不過tcp要到客戶收到剛才這個響應訊息之後才會真正終止這個連線,四次揮手的前兩次揮手)。

5.htp客戶經由同乙個套接字接收這個響應訊息。tcp連線隨後終止(四次揮手的後兩次揮手)。該訊息標明所

封裝的物件是乙個html檔案。客戶從中取出這個檔案,加以分析後發現其中有10個jpeg物件的引用。

6.給每乙個引用到的jpeg物件重複步騾1-4。

只是簡單一總結,應付面試,大神的敘述更詳盡,參考:

瀏覽器輸入URL回車後

當我們想瀏覽某乙個網頁時,一般都會輸入對應的url,這個其實就是請求對應資源的過程。那麼這個過程實質上經歷了什麼呢?查詢ip 客戶端根據網域名稱查詢對應的ip 相互通訊 客戶端與資源伺服器通訊 斷開連線 客戶端與資源伺服器斷開連線 1.查詢ip 系統將網域名稱傳送至 ldns 本地網域名稱伺服器 查...

瀏覽器中輸入乙個URL後,按下回車後發生了什麼

1.解析ip位址 a.瀏覽器搜尋瀏覽器dns快取 b.搜尋作業系統dns快取 c.搜尋路由器的dns快取 d.作業系統將網域名稱傳送至 本地網域名稱伺服器 遞迴查詢方式 本地網域名稱伺服器 查詢自己的dns快取,查詢成功則返回結果 e.否則,本地網域名稱伺服器向根網域名稱伺服器查詢 一般是迭代查詢 ...

瀏覽器輸入URL後後的過程

還有一篇寫的很好 1 輸入url按下回車後,首先檢查url是否在快取中,並比較快取是否過期 2 dns解析url對應的ip 3 根據ip建立tcp連線 三次握手 4 連線建立後,http就可以傳送請求了 5 伺服器處理請求,瀏覽器接收http響應 6 渲染頁面,構建dom樹 7 關閉tcp連線 四次...