解析HTTP數據流的傳輸過程


從客戶端打開瀏覽器到服務器返回頁面,這中間發生了什么?

  宏觀層面(應用層面):
    1.在一個客戶端上,打開瀏覽器,在瀏覽器的地址欄中輸入域名,訪問網站。

    2.在敲入網址並按下回車后,將會發生以下神奇的事情:瀏覽器先嘗試從Host文件中獲取域名對應的IP地址,如果能取到則直接使用Host文件的解析結果。

    3.如果不能,就使用DNS協議來獲取IP地址。在DNS協議匯中,PC會向你的本地DNS服務器求助,本地DNS服務器一般是通過手動設置的靜態IP地址,另一種是同動態DHCP協議獲取的動態IP地址。請求DNS服務器后,得到域名的IP地址。

    4.接下來建立TCP連接。在TCP協議中,建立TCP需要與域名服務器握手三次,先告訴服務器要發送給服務器的東西(SYN),服務器應答並回應服務器要發送的東西(SYN,ACK),然后客戶端應答服務器(ACK),總共來回三次,稱為三次握手。

    5.三次握手成功后,開始用HTTP協議請求網頁內容。發送一個HTTP報文給服務器,如果服務器禁止訪問則會回復“Forbidden”或者“file not found”等。

    6.如果服務器正常則回復“OK”,狀態碼為200並將你要的數據傳給你。你收到了服務器的回復,就是HTML形式的文本。瀏覽器必須要能夠理解文本的內容,並快速地渲染到屏幕花上,渲染出后就能看到相應的網站首頁了。

   微觀層面:

    


免責聲明!

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



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