第一步,解析網域名稱,找到ip
瀏覽器會快取dns一段時間,一般2-30分鐘不等,如果有快取,直接返回ip,否則下一步。
快取中無法找到ip,瀏覽器會進行乙個系統呼叫,查詢hosts檔案。如果找到,直接返回ip,否則下一步。
進行1 和2 本地查詢無果,只能借助於網路,路由器一般都會有自己的dns快取,isp服務商dns快取,這時一般都能夠得到相應的ip,如果還是無果,只能借助於dns遞迴解析了。
這時isp的dns伺服器就會開始從根網域名稱伺服器開始遞迴搜尋,從.com 頂級網域名稱伺服器,到baidu的網域名稱伺服器。
到這裡,瀏覽器就獲得網路ip,在dns解析過程中,常常解析出不同的ip。
第二步,瀏覽器於**建立tcp連線
瀏覽器利用ip直接**主機通訊,瀏覽器發出tcp連線請求,主機返回tcp應答報文,瀏覽器收到應答報文發現ack標誌位為1,表示連線請求確認,瀏覽器返回tcp()確認報文,主機收到確認報文,三次握手,tcp連線建立完成。
第三步, 瀏覽器發起預設的get請求
瀏覽器向主機發起乙個http-get方法報文請求,請求中包含訪問的url,也就是還有user-agent使用者瀏覽器作業系統資訊,編碼等,值得一提的是accep-encoding和cookies項。accept-encoding一般採用gzip,壓縮之後傳輸html檔案,cookies如果是首次訪問,會提示伺服器簡歷使用者快取資訊,如果不是,可以利用cookies對應鍵值,找到相應快取,快取裡面存放著使用者名稱,密碼和一些使用者設定項
第四步,顯示頁面或返回其他
瀏覽器的乙個請求從傳送到返回
1 先從網路模型層面 client 瀏覽器 與 server 通過 http 協議通訊,http 協議屬於應用層協議,http 基於 tcp 協議,所以 client 與 server 主要通過 socket 進行通訊 而 tcp 屬於傳輸層協議 如果走 https 還需要會話層 tls ssl 等...
瀏覽器的乙個請求從傳送到返回經歷了什麼
client與server通過http協議傳輸資料。http hyper text transfer protocol 協議是無狀態協議,基於tcp協議,屬於應用層協議。dns domain name system 網域名稱系統 主要的功能就是將不容易記住的 ip address ip位址 轉換成易...
通過瀏覽器請求乙個網域名稱IP
瀏覽器內部都有dns客戶端,它先查詢本地dns快取中是否有該網域名稱的ip,如果有就直接去訪問該ip。如果沒有,該dns客戶端先要查詢自己主機所設定的dns伺服器,然後去該dns伺服器去查詢ip。如果該dns伺服器本地快取中有該網域名稱的a記錄 網域名稱與ip位址的對應記錄 則直接返回給瀏覽器中的d...