目錄
tcp連線
udphttp協議
urldns
http請求發起和響應
不單單只講這個點,還順帶其他知識點,自己要多學多接觸,自己要努力。
tcp:transmission control protocol, 傳輸控制協議
他有三個行為:
1、客戶端傳送請求給服務端
2、服務端收到請求,確認請求,返回請求
3、客戶端收到確認請求,向伺服器發出確認,然後客戶端和伺服器一起連線(伺服器發出我願意跟你握手的資訊,然後客戶端收到後也發出我也願意跟你握手,然後才真正握手)
1、客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認。
2、伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack
包,此時伺服器進入syn_recv狀態。
3、客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。
udp:user datagram protocol 使用者資料報協議
這個跟tcp有什麼不同呢,不同之處在於udp只是單方面的發出資料,不會進行請求,也就是沒有士兵盤查你進城的原因,簡單粗暴,常用於qq語音之類的,對資料準確性要求不高的地方
http協議:hypertext transfer protocol 也叫超文字傳送協議
url:uniform resource locator 統一資源定位符
乙個url是由1、協議 2、網域名稱 3、埠 4、檔名 來組成的,但檔名可以省略
例子:
結構: 協議:// ip位址(網域名稱)/ 埠 / 檔名
dns:domain name server,網域名稱伺服器
但是如果用dns轉化後,就會用網域名稱對映ip位址,變成www.baidu.com,這樣好記多了
從使用者輸入url,到瀏覽器呈現給使用者頁面,經過了什麼過程
總共九步,前6步都是請求傳送階段,後3步是伺服器響應請求階段
1、使用者輸出url,瀏覽器獲取url
2、瀏覽器進行dns解析
3、根據解析出的ip位址+埠,瀏覽器(應用層)發起http請求,請求中攜帶(請求頭header、請求體body)
4、請求到達傳輸層,tcp協議為傳輸報文提供可靠的位元組流傳輸服務,它通過三次握手等手段來保證傳輸過程中的安全可靠。通過對大塊資料的分割成乙個個報文段的方式提供給大量資料的便攜傳輸
5、到網路層, 網路層通過arp定址得到接收方的mac位址,ip協議把在傳輸層被分割成乙個個資料報傳送接收方
6、資料到達資料鏈路層,請求階段完成
7、接收方在資料鏈路層收到資料報之後,層層傳遞到應用層,接收方應用程式就獲得到請求報文
8、接收方收到傳送方的http請求之後,進行請求檔案資源(如html頁面)的尋找並響應報文
9、傳送方收到響應報文後,如果報文中的狀態碼表示請求成功,則接受返回的資源(如html檔案),進行頁面渲染
從瀏覽器位址列輸入URL到瀏覽器呈現資料全過程解析
一 輸入裝置 或貼上 輸入 url,按下 enter鍵 或其他按鈕開始請求。二 瀏覽器開始解析 url 關於 url 到相關知識點 什麼是uri,url以及urn,你真的理解了嗎。1 url 是否合法 2 url 中的字元轉換 三 檢查本地快取,根據快取情況決定下一步的動作 1 強快取 cache ...
從輸入url到瀏覽器呈現網頁發生了什麼?
大致能分成兩個部分 網路通訊與頁面渲染 一.網路通訊 網際網路各個網路裝置間的通訊均基於tcp ip協議,此協議將整個過程進行分層,由上至下分別為 應用層 傳輸層 網路層和資料鏈路層 1.輸入url 2.應用層用dns解析網域名稱 dns協議 解析url網域名稱,檢查本地是否有對應的ip位址,有則返...
從瀏覽器位址列輸入url到頁面呈現
從瀏覽器dns快取 從系統dns快取中去,本機系統hosts檔案中如果有對映,就返回對映的ip位址 從區域網路由器中dns快取獲取對映位址 從dns伺服器快取獲取對映位址 伺服器中查詢,com baidu www 2.tcp連線,三次握手 瀏覽器發起,詢問伺服器是否支援響應 伺服器發起,回覆瀏覽器已...