一:相關概念說明:html
1.1: DNS(Domain name System)緩存: (域名系統)(查看本機的ipconfig/displaydns)linux
當電腦把一個域名解析完以後,它把這個這個域名和那個主機Ip地址相關聯起來了,電腦吧這個關係存到DNS緩存表中,下次電腦再輸入www.baidu.com的時候,電腦經過查找DNS緩存,就能夠知道這個域名對應的IP地址了,再也不進行域名解析了,提升了效率瀏覽器
1.2: ip地址:緩存
ip地址對應好像門牌號,咱們經過這個地址能夠找到主機的位置服務器
1.3:域名:(domain name):dom
Ip地址是4個數字,用頓號隔開,這個東西很差記,咱們通常用字母搭配數字的方式使用好比.www.baidu.com.,Ip地址和域名不是一一對應的,一個域名能夠綁定多個IP,但在同一時刻一個域名只能解析成一個Ip地址(這個活由咱們的DNS幫咱們完成)url
二:相關請求大體流程操作系統
1:瀏覽器根據域名解析出來Ip地址server
2:瀏覽器根據IP地址進行Socket通訊htm
3:瀏覽器和客戶端進行通訊,瀏覽器請求,服務器接收請求
4:瀏覽器和服務器斷開連接
三:具體的流程
3.1:查找過程
1:瀏覽器先從本身DNS表中查找看有沒有.www.baidu.com(對應的IP地址)
2:從操做系統中的DNS表中查找(維護域名和ip地址對應關係的一張表)
3:從操做系統host文件夾中查找
4:操做系統將域名發送到LDNS(本地區域域名系統),好比我在工大,那麼LDNS服務器就在 咱們學校, 查找DNS緩存,繼續失敗的話發送一個迭代的DNS解析請求.
4.1:LDNS向Root name server(根域名服務器,存儲每一個域名的域),Root name Server返回com域的頂級域名服務器地址
4.2:LDNS向com頂級域名服務器發送請求,返回www.bai.com域名服務器的地址
4.3:LDNS向www.baidu.com域名服務器發送請求,獲得www.baidu.com的ip地址
5:LDNS獲得Ip地址返給操做系統,並把這個iP地址緩存到DNS表中
6:操做系統將地址返給瀏覽器.同時也將IP地址緩存起來
7:如今瀏覽器已經獲得了Ip地址
3.2:創建鏈接(三次握手)(採用TCP協議)
知道了百度的Ip地址,接下來是三次握手的實現鏈接
1:客戶機向服務器發送創建鏈接請求(你好,很高興認識你)
2:服務器接到請求後發送贊成鏈接請求(好的,很高興認識你)
3:客戶機接收到服務器贊成請求後,再次向服務器發送確認信號(我也很高興認識你),自此主機和服務器兩個創建鏈接
3.3:網頁請求和顯示
創建鏈接以後,那麼服務器和客戶機之間就會進行通信
3.1:客戶機瀏覽器根據IP地址生成Http請求,請求包含文件的位置,請求的方式
3.2:服務器接收到http請求內容決定如何獲取相應的HTML文件
3.3:服務器將相應的HTML文件發送給瀏覽器
3.4: 瀏覽器還沒徹底接收HTML文件的時候,開始渲染,顯示網頁
3.5:根據html代碼,繼續請求圖片,
3.4:斷開過程(四次揮手過程)
1:客戶機向服務器發送一個斷開的請求(不早了,我該走了)
2:服務器接受到請求發送確認請求的信號(知道了)
3:服務器向客戶端發送斷開通知(我也該走了)
4:客戶機接受到斷開通知,反饋一個信號(好的),服務器接收到反饋信號斷開連接