wireshark工具分析tcp三次握手以及http2配置
一、wireshark工具分析tcp三次握手
TCP三次握手(預互動過程,都是tcp包)
1.客戶端傳送TCP SYN:我的埠是60280,我需要訪問你的埠443。SEQ Number(初始化序列號isn)=0
2.伺服器傳送TCP SYN/ACK 允許你訪問我的埠,我也需要訪問你的60280埠。ACK(確認號)=1即序列號+1,伺服器也隨機生成一個序列號SEQ=0
3.客戶端傳送 TCP ACK 允許你訪問我的443埠。ACK=1
二、http2配置
2.1優勢
①通道複用(支援一個tcp connector,併發傳送,併發返回)
②分幀傳輸(每一幀都有上下文聯絡,可以亂序傳送,最後根據幀資訊組合資料,可以併發傳送請求)。
③ServerPush(伺服器主動向客戶端傳送資訊)
Http1.1只支援一個請求傳送完之後再發送第二個請求。服務端返回也是先返回第一個請求然後第二個。HTTP2支援一個tcp connector連線。基於通道複用,分幀傳輸,server push可以併發傳送,併發返回。
2.2nginx配置Http2
自動相容http1.1。不需要考慮客戶端使用協議,通過nginx將http2轉http1.1傳給我們後端。
2.2.1條件
1、openssl的版本必須在1.0.2e及以上
2、nginx的版本必須在1.9.5以上
3、編譯的時候加了模組:--with-http_v2_module
2.2.2配置
server{
listen 443 http2;
server_name xxx.com;
http2_push_preload on;
}
2.2.3驗證:
用chrome開啟瀏覽器訪問網址:www.xxx.com
在chrome開啟:chrome://net-internals/#http2