前言
訪問目標位址有兩種方式:
①使用目標ip位址訪問。由於ip位址是一堆數字不方便記憶,於是有了網域名稱這種字元型標識。
②使用網域名稱訪問。網域名稱解析就是網域名稱到ip位址的轉換過程,網域名稱的解析工作由dns伺服器完成。
比如說訪問 baidu.com
1.如果是網域名稱,首先將網域名稱解析成ip
計算機首先查詢本地的快取和host檔案,如果 有web伺服器的ip位址,則直接訪問,如果沒有,
則查詢本地所配置的dns,向dns伺服器傳送解析請求,伺服器通過dns解析後,向客戶機傳送網域名稱所對應的ip位址,客戶機收到ip位址,解析結束。
2.使用ip, arp, rarp, ospf協議獲取目標ip的mac位址(唯一標示機器的位址),知道mac位址後才能進行tcp連線。
3.得到了baidu.com對應的ip位址之後,客戶端向web伺服器傳送tcp的三次握手,進行連線。
4.只有建立連線後,才能傳輸資料
建立了tcp連線後,如果使用https,則需要進行ssl握手,溝通加密,以及交換秘鑰,握手完成後,報文會在傳送給tcp之前在ssl層進行加密。
5.與目標主機斷開tcp連線(四次揮手)。
訪問乙個網頁的全過程詳解!
開啟乙個網頁的過程中,瀏覽器會因頁面上的css js image等靜態資源會多次發起連線請求,所以我們暫且把這個網頁載入過程分成兩部分 1 html jsp php aspx 頁面載入 假設存在簡單的nginx負載均衡 2 css js image等 網頁靜態資源載入 假設使用cdn 什麼是dns解...
乙個網頁開啟的全過程
從使用者在瀏覽器輸入網域名稱開始,到web頁面載入完畢,這是乙個說複雜不複雜,說簡單不簡單的過程,下文暫且把這個過程稱作網頁載入過程。下面我將依靠自己的經驗,總結一下整個過程。如有錯漏,歡迎指正。閱讀本文需要讀者已有一定的計算機知識,了解tcp dns等。眾所周知,開啟乙個網頁的過程中,瀏覽器會因頁...
訪問乙個網頁的全過程(根據7層協議分析)
應用層 1.瀏覽器向dns伺服器發起dns請求,進行網域名稱解析,獲得相應的ip位址 2.根據http協議生成http報文請求 在應用層將要傳送的資料內容形成了應用層的報文data,傳送到傳輸層 傳輸層 3.tcp的三次握手 把處理的資料段傳送到網路層 資料在網路層被打包,這樣封裝上了網路層的包頭,...