Web
服務器(默認80
端口)創建TCP
鏈接。TCP
鏈接,客戶端發送HTTP
請求。HTTP
響應。TCP
鏈接。若是connection
是close
,則服務器主動關閉TCP
鏈接,客戶端被動關閉。若是是keep-alive
,表示持久鏈接,該鏈接還能夠被其餘HTTP
請求複用,直到客戶端或服務器認爲鏈接已經結束,其中一方中斷鏈接。HTML
內容。URL
中的域名進行DNS
解析,以獲取相關服務器的IP
地址。DNS
緩存依次查詢瀏覽器緩存、操做系統緩存、路由器緩存、ISP
緩存、根域名服務器緩存、頂級域名服務器緩存。IP
地址加端口,(HTTP
默認80
、HTTPS
默認443
),和服務器創建TCP
鏈接。三次握手詳細介紹。HTTP
請求。HTTP
響應報文。TCP
鏈接。1xx:表示請求已接受,繼續處理。瀏覽器
2xx:成功,表示請求已經被成功。緩存
3xx:重定向,要完成請求必須進行更進一步的操做。安全
4xx:客戶端錯誤。服務器
5xx:服務器錯誤。cookie
是瀏覽器和服務器經過HTTP
協議進行交互的兩種方法:網絡
HTTP
報文層面:GET
將請求信息放在URL
中,POST
將請求信息放在請求體中。雖然HTTP
協議沒有對URL
長度進行限制,可是主流瀏覽器會限制URL
的長度。REST
規範中:GET
請求進行查詢操做,符合冪等性和安全性,POST
用來進行數據存儲,不符合。GET
請求能夠被緩存,而POST
不行。服務器端的機制,在服務器上保存的信息。session
解析客戶端請求並操做session id
,按需保存狀態信息。加密
服務器響應返回JSESSIONID=XXXXX
,不管哪一種,核心都是JSESSIONID
,是Tomcat
爲咱們自動匹配的(根據JSESSIONID
找服務器的SESSION
)。spa
cookie
數據存放在客戶的瀏覽器上,session
數據存放在服務器上。session
更加安全。session
裏會給服務器帶來負擔,因此應適當使用cookie
。爲網絡通訊提供安全及數據完整性的一種安全協議。操作系統
是操做系統對外的API
,SSL 3.0
後改名爲TLS
。
採用身份驗證和數據加密保證網絡通訊的安全和數據的完整性。
HTTPS
須要申請CA
證書,HTTP
不須要。HTTPS
是密文傳輸的,HTTP
明文傳輸。HTTPS
默認使用443
端口,HTTP
默認使用80
端口。HTTPS = HTTP + SSL
。由於非對稱加密成本較高,因此將密鑰使用非對稱加密進行傳輸,而通訊過程當中使用傳輸的密鑰進行對稱加密。