HTTP/2 协议-服务端主动推送消息

简介: HTTP/2 协议-服务端主动推送消息

这篇文章介绍一下 HTTP/2 的服务端消息推送功能,它可以很大程度的提升客户的体验,它与之前介绍的 WebSocket消息推送有很大的不同,下面讨论一下 HTTP/2 协议中的 PUSH_PROMISE 服务端推送帧的作用。


1.服务器推送的意义

  • 提前将资源推送到浏览器
  • 推送可以基于已发送的请求,例如客户端请求 html ,服务端可以主动推送 js、css 文件


2.服务器推送的实现

  • 推送资源必须对应一个请求
  • 请求由服务端 PUSH_PROMISE 帧发送
  • 响应在 Stream ID Stream 中发送,并且服务产生的 Stream ID 是偶数


3.HTTP/1.1 中获取资源示意图

Tips:实际页面会有很多 jscss 等文件请求。



4.HTTP/2 中获取资源示意图

       HTTP/1 HTTP/2 获取资源的区别,前者是效率低下的串行 请求/响应,后者是基于流的高效并行推送,HTTP/2 获取资源示意图如下:

Tips:Stream 1 中服务端基于 PUSH_PROMISE 帧告诉客户

singwa.csssingwa.js 资源即将推送,并且 Stream 1 Stream 2

Stream 3 可以并行推送(注意:不同 Stream 间可以并行发送,同一Stream 内的数据是有序的串行发送)。



5.PUSH_PROMISE 帧格式

       PUSH_PROMISE 帧中的 type=0x5,只能由服务器发送,格式如下:


6.抓包分析

Tips:如图所示,服务端推送资源之前会基于 PUSH_PROMISE 帧告诉客户端即将推送 /app/poster.jpg ,这里需要搭一个基于 HTTP/2 的推送服务。

相关文章
|
3天前
|
算法 网络协议 安全
HTTP/2 协议的缺点是什么?
HTTP/2 协议的缺点是什么?
|
3天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
22 3
|
14天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
43 13
|
7天前
|
传感器 缓存 网络协议
CoAP 协议与 HTTP 协议的区别
CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。
|
12天前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
12天前
|
安全
HTTP 协议的请求方法
【10月更文挑战第21天】
|
12天前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。
|
14天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
16天前
|
网络协议 前端开发 API
HTTP 和 TCP 协议的应用场景有哪些不同
【10月更文挑战第25天】HTTP(超文本传输协议)和 TCP(传输控制协议)处于网络协议栈的不同层次,各自具有独特的功能和特点,因此它们的应用场景也存在明显的差异。
|
16天前
|
安全 前端开发 JavaScript
利用HTTP协议进行文件上传和下载的常见方法
【10月更文挑战第25天】可以利用HTTP协议方便地实现文件的上传和下载功能,满足不同应用场景下的需求。在实际应用中,还可以根据具体的业务需求和安全要求,对文件上传和下载的过程进行进一步的优化和安全处理。

热门文章

最新文章