DNS
域名解析首先瀏覽器拿到咱們的url,會將咱們的url解析出來,而後拿到域名部分,因爲咱們的包在互聯網上傳輸是根據ip地址來尋找下一個轉發點,因此若是咱們以咱們的域名來看成地址顯然是不可能的。因此瀏覽器會拿到咱們的域名而後經過咱們設備內置的dns處理模塊去附近最近的dns服務器去查找該域名對應的ip地址,若是找不到,再去其餘的dns服務器查找,最終將查找到的ip地址放到咱們的請求頭部,而不是咱們的域名。web
(ping www.baidu.com)該指令可用來查看域名的ip
域名查找的過程,主要是根據域名的分級,一級一級的去找,這就是域名分級的做用。下面給一張dns解析的過程圖瀏覽器
TCP
鏈接客戶端(瀏覽器)經過TCP傳輸協議
創建到服務器的TCP鏈接 ,該過程稱爲三次握手,過程以下。安全
客戶端(瀏覽器)向web服務器端(HTTP服務器)發送HTTP協議包
,請求服務器裏的資源文檔 (telnet 模擬)服務器
服務器向客戶端發送HTTP協議
應答包網絡
等到數據發送完畢,客戶端就會主動發起斷開鏈接,這個過程叫作四次揮手,過程以下url
TCP、UDP、http、https
是什麼TCP
TCP(Transmission Control Protocol,傳輸控制協議)是基於鏈接的協議,也就是說,在正式收發數據前,必須和對方創建可靠的鏈接。一個TCP鏈接必需要通過三次「對話」才能創建起來,其中的過程很是複雜,咱們這裏只作簡單、形象的介紹,你只要作到可以理解這個過程便可。spa
UDP
協議「面向非鏈接」就是在正式通訊前沒必要與對方先創建鏈接,無論對方狀態就直接發送。與手機短信很是類似:你在發短信的時候,只須要輸入對方手機號就OK了。
UDP(User Data Protocol,用戶數據報協議)是與TCP相對應的協議。它是面向非鏈接的協議,它不與對方創建鏈接,而是直接就把數據包發送過去!.net
http https
等超文本傳輸協議(HTTP,HyperText Transfer Protocol)是互聯網上應用最爲普遍的一種網絡協議。
HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全爲目標的HTTP通道,簡單講是HTTP的安全版。
咱們傳輸數據時使用的就是這些協議code
http
請求與響應報文請求行server
請求頭
請求體
name=aimee&age=18
GET POST HEAD
?a=xx&b=xx
)或Cookie傳參,不能將數據放到請求體中去,若是放到請求體當中,數據是發不出去的。而對於POST要將數據放在BODY中。即xhr.send(data)
HEAD
方法用於獲取響應頭,不能把數據放到body
中,響應中也不會有數據部分,就算服務器端放了。