HTTP/2协议之连接前言【原理笔记】

        HTTP/2在传输数据之前,先建立连接,建立HTTP/2连接的标记为Client发送连接前言Magic。HTTP/2属于应用层,位于TPC/IP及安全传输层协议TLS之上。在建立HTTP/2连接的过程中,会先后经历TCP握手、TLS握手、HTTP/2连接前言。下图网络分层图示:

一、TCP握手回顾

回顾下TCP的三次握手,三次握手后TPC连接建立,具体步骤如下:
第一步:Client发送[SYN]报文到Server。Client进入SYN_SENT状态,等待Server响应。[SYN]报文序号Seq=x《备注:截图中Seq=0》
第二步:Server收到后发送[SYN,ACK]报文给Client,ACK为x+1(备注:截图中ACK=1); [SYN,ACK]报文序号为y(备注:截图中Seq=0),Server进入SYN_RECV状态
第三步:Client收到后,发送[ACK]报文到Server,包序号Seq=x+1,ACK=y+1。Server收到后Client/Server进入ESTABLISHED状态。

TPC握手报文


TPC握手交互图


二、TLS握手简化回顾

TLS传输层安全协议,主要回顾简化的交互过程:

第一步

Client向Server发送ClientHello,包括支持的协议版本、Client随机数、支持的加密算法等


第二步

Server向Client发送ServerHello,包括确认协议版本、Server随机数、确认加密算法、Server证书


第三步

Server向Client发送证书,客户端校验证书有效性


第四步

Client通知Server用协商的密钥进行通信


第五步

传输加密数据


三、建立HTTP/2连接前言

在TLS之后,Client会向Server发送Magic标记着HTTP/2连接的建立,具体Magic为:PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n 详见下图:


「瓜农老梁  学习同行」    

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值