分層模型
TCP 傳輸控制協議
UDP 用戶數據包協議
四層
應用層 負責發送/接收消息
傳輸層 負責拆分和組裝 .期間會有編號
網絡層 TCP/UDP 屬于網絡層, 不會判斷和處理編號
數據鏈路層 以太網 ,網絡設備
TCP 連接
TCP連接需要端口,進行通信
Java 通過Socket
接收消息
發送
連接的建立:
連接建立才可以用Http連接
三次握手,四次揮手
發送->相應-發送
連接關閉:
省資源,否則占用資源
客戶端發送關閉-服務端發送-服務端發送關閉-客戶端發送關閉
長連接:
實現方式:心跳,在規定時間內使用TCP連接發送一個消息
HTTPS:
SSL 安全套接字層
HTTP+SSL /TLS
SSL/TLS 對底層支持,在HTTP下增加安全層
對HTTP進行一層包裝
HTTPS不是一種協議
非對稱加密有延遲,慢, 影響性能
在初始階段協商非對稱加密的密鑰
HTTPS 建立:
HTTP通過TLS建立連接
使用非對稱加密協商,然后
連接建立過程
隨機數用于數據加密
使用服務器的公鑰加密發送數據
hash計算的簽名
根證書 一般是操作系統的證書
?驗證證書的合法性和服務器的主機名和地區等信息進行驗證
4 隨機數,發送加密數據
通過客戶端 服務器端的隨機數進行pre master 防止 replay attack 中間人共計
這一步可以使用對稱加密進行通信
MAC Secret? = HMAC 指紋 ,基于based的消息驗證,通過hash算法計算