網絡面試:URL的組成以及輸入URL後的全過程,用到的協議

URL的組成

以http://www.helloworld.com:80/hello/world爲例:
使用的應用層協議:http
服務器:www
域名:helloworld.com
端口:80
訪問的具體目錄下的文件:hello/world

輸入URL回車後的過程

1. 對域名進行解析
對域名進行解析即把域名轉換爲對應的IP地址的過程,主要使用DNS協議
1)瀏覽器查看自己的DNS緩存,看是否能找到與域名相對應的IP地址,如果沒找到,則進行2)
2)查看操作系統的DNS緩存,如果還是沒找到,進行3)
3)訪問本地域名服務器,若無,進行4)
需要注意的是,1-3過程是遞歸查詢過程,意思是瀏覽器找操作系統,操作系統找本地域名服務器,依次遞歸下去,而不是瀏覽器找完操作系統後,再自己去找本地域名服務器,流程圖爲:
瀏覽器->操作系統->本地域名服務器
4)本地域名服務器向根域名服務器發起DNS請求,若無,則5)
5)本地域名服務器向com域的頂級域名服務器發起DNS請求,若無,則6)
6)本地域名服務器向權限域名服務器發起DNS請求,得到IP地址
4-6過程爲迭代過程,意思是本地域名服務器找根域名服務器,根域名服務器說我沒有,你去找com域的頂級域名服務器吧,我不幫你找,然後本地域名服務器自己去找com域的頂級域名服務器……流程圖爲:
本地域名服務器->根域名服務器
本地域名服務器->com域的頂級域名服務器
本地域名服務器->權限域名服務器
經過以上某些步驟之後,瀏覽器便可得到域名對應的IP地址

2. 瀏覽器封裝HTTP報文,向服務器發起HTTP請求,請求方式可能爲POST,可能爲GET,這個過程使用的是HTTP協議

3. HTTP報文封裝併到達傳輸層後,開始進行TCP三次握手建立端口之間的連接,如8080端口,這個過程使用的是TCP協議

4.運輸層的報文段到達網絡層之後,網絡層使用IP協議進行封裝,並使用RIP,OSPF等路由協議進行路徑選擇,選擇好路徑之後,放到數據鏈路層在具體的鏈路上進行傳輸

5. 服務器收到請求之後,同樣將返回的數據按以上方式返回給客戶端

6. TCP四次揮手斷開連接

7. 瀏覽器解析返回的數據並展示到網頁上

覺得有問題的地方歡迎在評論區指出來…本人正在準備春招,因此近期會寫不少面試題總結,有一起的可以互相關注,一起加油~

覺得不錯不妨點個贊,你的點贊是對我最大的鼓勵,謝謝~


其它熱門網絡面試題:

> 通俗易懂的例子告訴你TCP/IP如何保證可靠性

> HTTP1.0,HTTP1.1和HTTP2.0的區別

> HTTP的缺點以及HTTPS的原理,這篇講的真的很淺顯易懂了

> 網絡面試必問:TCP/IP四層模型和OSI七層模型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章