在瀏覽器中輸入URL后,執行的全部過程。(一次完整的http請求過程)


整個流程如下:

  域名解析
  為了將消息從你的PC上傳到服務器
  上.需要用到1P協議、ARP協議和0SPF協議
  發起TCP的3次握手
  建立TCP連接后發起http請求
  服務器響應htp請求
  瀏覽器解析htm代碼,並請求html代碼中的資源(如js、css、圖片等)
  斷開TCP連接
  瀏覽器對頁面進行渲染呈現給用戶


一、域名解析的詳細內部過程

 


例如,要查詢www.baidu.com的IP地址(DNS解析url):

瀏覽器搜索自己的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地址

二、三次握手
       三次握手的情況可以看我的博客https://mp.csdn.net/postedit/80735776

三、建立TCP連接后發起http請求
           講一下HTTP的瀏覽器緩存機制看我的博客:https://mp.csdn.net/postedit/81188624。使用Post還是Get。

四、服務器收到請求並響應HTTP請求
1.負載均衡
         網站可能會有負載均衡設備來平均分配所有用戶的請求。即對工作任務進行平衡,分
攤到多個操作單元上執行,如圖片服務器,應用服務器等。
2請求處理閱讀請求及它的參數和 cookies


五.瀏覽器解析htm代碼,並請求htm代碼中的資源(如js、css圖片等)
        看是否是長連接。來決定是不是斷開TCP連接


六.斷開TCP連接
        四次揮手


七.瀏覽器對頁面進行渲染呈現給用戶

原文:https://blog.csdn.net/qq_21993785/article/details/81188253


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM