整個流程如下:
網域名稱解析
為了將訊息從你的pc上傳到伺服器
上.需要用到1p協議、arp協議和0spf協議
發起tcp的3次握手
建立tcp連線後發起http請求
伺服器響應htp請求
瀏覽器解析htm**,並請求html**中的資源(如js、css、等)
斷開tcp連線
瀏覽器對頁面進行渲染呈現給使用者
一、網域名稱解析的詳細內部過程
瀏覽器搜尋自己的dns快取(維護一張網域名稱與ip位址的對應表)
若沒有,則搜尋作業系統中的dns快取(維護一張網域名稱與ip位址的對應表)
若沒有,則搜尋作業系統的hosts檔案(windows環境下,維護一張網域名稱與ip位址的對應表,位置一般在 c:\windows\system32\drivers\etc\hosts)
若沒有,則作業系統將網域名稱傳送至 本地網域名稱伺服器- -(遞迴查詢方式),本地網域名稱伺服器 查詢自己的dns快取,查詢成功則返回結果,否則,(以下是迭代查詢方式)
4.1 本地網域名稱伺服器 向根網域名稱伺服器(其雖然沒有每個網域名稱的具體資訊,但儲存了負責每個域,如com、net、org等的解析的頂級網域名稱伺服器的位址)發起請求,此處,根網域名稱伺服器返回com域的頂級網域名稱伺服器的位址
4.2 本地網域名稱伺服器 向com域的頂級網域名稱伺服器發起請求,返回baidu.com許可權網域名稱伺服器(許可權網域名稱伺服器,用來儲存該區中的所有主機網域名稱到ip位址的對映)位址
4.3 本地網域名稱伺服器 向baidu.com許可權網域名稱伺服器發起請求,得到www.baidu.com的ip位址
本地網域名稱伺服器 將得到的ip位址返回給作業系統,同時自己也將ip位址快取起來
作業系統將 ip 位址返回給瀏覽器,同時自己也將ip位址快取起來
至此,瀏覽器已經得到了網域名稱對應的ip位址
二、三次握手
三次握手的情況可以看我的部落格
三、建立tcp連線後發起http請求
講一下http的瀏覽器快取機制看我的部落格:使用post還是get。
四、伺服器收到請求並響應http請求
1.負載均衡
**可能會有負載均衡裝置來平均分配所有使用者的請求。即對工作任務進行平衡,分
攤到多個操作單元上執行,如伺服器,應用伺服器等。
2請求處理閱讀請求及它的引數和 cookies
五.瀏覽器解析htm**,並請求htm**中的資源(如js、css等)
看是否是長連線。來決定是不是斷開tcp連線
六.斷開tcp連線
四次揮手
輸入url到頁面返回的全過程
1.我們輸入乙個網域名稱 www.baidu.com a.瀏覽器查詢瀏覽器快取,如果有網域名稱的ip位址則返回,如果沒有繼續查詢 b.系統查詢系統快取,如果有網域名稱的ip位址則返回,如果沒有繼續查詢 c.路由器查詢路由器快取,如果有網域名稱的ip位址則返回,如果沒有繼續查詢 這是客戶端的dns快取...
瀏覽器輸入url後回車後全過程及其優化
瀏覽器輸入url後回車後,會發生什麼?嗯嗯,很經典的問題 概括性大致流程是這樣的 1 查詢url對應的ip位址 dns網域名稱解析 2 建立tcp連線,連線伺服器 3 瀏覽器發起請求 4 伺服器響應瀏覽器請求 5 瀏覽器解析響應,渲染頁面 6 關閉tcp連線 下面對具體流程以及過程優化做表述 1 瀏...
從輸入URL到看到頁面發生的全過程
瀏覽器首先查詢當前url是否有快取,有的話,再查詢是否過期,沒過期則讀快取.過期了則訪問web伺服器.1.客戶端傳送乙個syn包 即帶有 syn 1,seq x 的資料報到伺服器端口,並進入syn sent狀態,等待伺服器確認 第一次握手,由瀏覽器發起,告訴伺服器我要傳送請求了 2.伺服器收到syn...