Http/2中连接会保持多长时间?

19

Http/2连接会保持多久时间?我知道Http/2每个域名使用一个连接并支持多路复用。但我没有得到任何有关连接保持时间的信息。


1
如何在使用HTTP/2协议时传递保持连接元数据? - NicoNing
1
https://stackoverflow.com/questions/58819199/how-to-keep-long-connection-in-http2 - NicoNing
1个回答

28
与HTTP/1.1一样,HTTP/2中连接保持的时间取决于客户端和服务器的实现。HTTP/2规范中提到:
HTTP/2连接是持久的。为了获得最佳性能,期望客户端在确定不再需要与服务器进行进一步通信(例如,当用户离开特定网页时)或服务器关闭连接之前,不要关闭连接。
服务器被鼓励尽可能保持开放的连接,但如果必要,可以终止空闲连接。当任一端点选择关闭传输层TCP连接时,终止端点应首先发送一个GOAWAY(第6.8节)帧,以便两个端点可以可靠地确定之前发送的帧是否已被处理,并优雅地完成或终止任何必要的剩余任务。
所以,两个端点都可以通过发送一个GOAWAY帧来优雅地关闭连接。NginxApache允许您配置一个超时时间,在此之后,空闲的HTTP/2连接将被关闭。Nginx的默认值是3分钟,Apache的默认值是5秒。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接