瀏覽器解析url(獲得協議(https)、web伺服器名(baidu.com)和檔案路徑(/dist/test.html)等資訊
根據解析url獲取的資訊生成http請求報文(請求行 + 訊息頭 + 訊息體)
客戶端去dns伺服器查詢web伺服器網域名稱對應的ip位址網域名稱解析(www.baidu.com):
客戶端向本地dns伺服器發起dns請求,如果本地有快取,則直接取出對應web伺服器的ip位址返回給客戶端
如果本地沒有快取,則向根域伺服器發起請求,它會告訴你去.com網域名稱伺服器去找
然後向.com網域名稱伺服器發起請求,它會告訴你去baidu.com網域名稱伺服器去找
最後向baidu.com網域名稱伺服器發起請求,它會找到對應web伺服器位址的ip位址返回給本地dns
為http報文新增tcp頭部,新增源埠號+目的埠號等資訊
三次握手建立tcp連線客戶端(closed),服務端(closed)>>
客戶端(closed),服務端主動監聽某埠 >(listen) >>
客戶端發起連線syn>(syn—sent)
服務端收到syn,傳送syn + ack > (syn-rcvd) 第一次握手
客戶端收到syn + ack,傳送ack >(established) 第二次握手
服務端收到ack > (established)第三次握手
三次握手的目的就是保證雙方都有傳送和接收的能力tcp協議會將過大的資料報分包處理
為tcp+http+報文新增ip頭部,新增源ip位址+目的ip位址等資訊
為ip + tcp + http + 報文新增mac頭部,新增源mac位址+ 目的mac位址等資訊
mac位址用於兩點之間傳輸(mac位址是路由器的位址)
mac + ip + tcp + http + 報文通過網絡卡傳送到交換機
網絡卡將數碼訊號轉化為電訊號傳送出去
交換機根據報文的mac位址查詢mac位址,然後將訊號傳送到對應埠
報文通過交換機到達了路由器,路由器通過對應的埠將報文傳送出去
資料報終於抵達伺服器,伺服器根據四個請求頭來分發資料。
分發到http程序,將瀏覽器請求的資料封裝成http響應報文,http響應報文也逐層新增tcp、ip、mac頭部,不過這次的源位址是伺服器ip位址,目的位址是客戶端ip位址
響應報文(狀態行 + 訊息頭 + 訊息體)
報文 >> 網絡卡 >> 交換機 >> 路由器 >> …
最後客戶端收到http響應報文,交給瀏覽器去響應報文,向伺服器發起了tcp四次揮手斷開連線。
在瀏覽器輸入URL之後
2 tcp連線 3 http請求與響應 4 螢幕繪製 將好記的網域名稱 baidu taobao bilibili等 解析成ip,服務由dns伺服器完成,然後再此ip位址的主機上將乙個子目錄與網域名稱繫結 檢查瀏覽器快取中是否有輸入的網域名稱檢查本地系統快取 從hosts檔案查詢是否有該網域名稱和對...
瀏覽器輸入URL回車後
當我們想瀏覽某乙個網頁時,一般都會輸入對應的url,這個其實就是請求對應資源的過程。那麼這個過程實質上經歷了什麼呢?查詢ip 客戶端根據網域名稱查詢對應的ip 相互通訊 客戶端與資源伺服器通訊 斷開連線 客戶端與資源伺服器斷開連線 1.查詢ip 系統將網域名稱傳送至 ldns 本地網域名稱伺服器 查...
在瀏覽器輸入url後並回車發生了哪些過程
關於url url用來表示某個資源的位址。通過俗稱就能看出來 url主要由以下幾個部分組成 a.傳輸協議 b.伺服器 c.網域名稱 d.埠e.虛擬目錄 f.檔名 g.錨h.引數 也就是說,通常乙個url是像下面這樣 連起來就是 現在來討論url解析,當在瀏覽器中輸入url後,瀏覽器首先對拿到的url...