热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

HTTP2中的RST_STREAM帧

如何解决《HTTP2中的RST_STREAM帧》经验,为你挑选了1个好方法。

我在http2 RST_STREAM中阅读了有关新功能的内容:

HTTP/2添加RST_STREAM帧以允许客户端改变主意; 如果浏览器导航离开页面,或者用户取消下载,则可以避免在不浪费所有带宽的情况下打开新连接.

怎么做呢?浏览器如何做到这一点?代码有什么变化吗?



1> sbordet..:

浏览器启动一个请求,然后改变主意,要么用户导航,要么取消.

在HTTP/1.1中,避免下载响应内容的唯一选择是关闭连接,因为客户端无法将这种中止请求的意图传达给服务器.关闭连接就是这样.

在HTTP/2中,如果客户端想要中止请求,则它发送RST_STREAM.当服务器收到RST_STREAM时,它将停止向客户端发送DATA帧,从而停止响应(或下载).该连接仍可用于其他请求,并且与已中止的请求/响应同时发生的请求/响应可能会继续进行.

通常,应用程序不需要做任何事情并且不知道RST_STREAM,它们都是由浏览器和服务器实现完成的.

有可能的是,当RST_STREAM从客户端传输到服务器时,请求的整个内容正在传输中并将到达客户端,客户端将丢弃它.但是,对于大响应内容,发送RST_STREAM可能很有可能在发送整个响应内容之前到达服务器,因此将节省带宽.


推荐阅读
author-avatar
徐毛毛的大猫儿
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有