您当前的位置: 首页 >  http

壹小俊

暂无认证

  • 3浏览

    0关注

    885博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

31 | 时代之风(下):HTTP/2内核剖析

壹小俊 发布时间:2022-06-30 17:46:57 ,浏览量:3

今天我们继续上一讲的话题,深入 HTTP/2 协议的内部,看看它的实现细节。

这次实验环境的 URI 是“/31-1”,我用 Wireshark 把请求响应的过程抓包存了下来,文件放在 GitHub 的“wireshark”目录。今天我们就对照着抓包来实地讲解 HTTP/2 的头部压缩、二进制帧等特性。

连接前言

由于 HTTP/2“事实上”是基于 TLS,所以在正式收发数据之前,会有 TCP 握手和 TLS 握手,这两个步骤相信你一定已经很熟悉了,所以这里就略过去不再细说。

TLS 握手成功之后,客户端必须要发送一个“连接前言”(connection preface),用来确认建立 HTTP/2 连接。

这个“连接前言”是标准的 HTTP/1 请求报文,使用纯文本的 ASCII 码格式,请求方法是特别注册的一个关键字“PRI”,全文只有 24 个字节:

 

 
  
   
    

PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n

在 Wireshark 里,HTTP/2 的“连接前言”被称为“Magic”,意思就是“不可知的魔法”。

所以,就不要问“为什么会是这样”了,只要服务器收到这个“有魔力的字符串”,就知道客户端在 TLS 上想要的是 HTTP/2 协议&#x

关注
打赏
1664335782
查看更多评论
立即登录/注册

微信扫码登录

0.0566s