连接将在 Http/2 中保持多长时间

Nav*_* GV 4 https networking http keep-alive ttl

连接将在 Http/2 中保持多长时间?我了解 Http/2 每个域使用一个连接并进行多路复用。但我没有得到有关连接将保持多长时间的任何信息。

sau*_*ger 10

与 HTTP/1.1 一样,连接在 HTTP/2 中保持活动的时间取决于客户端和服务器的实现。的HTTP / 2规范

HTTP/2 连接是持久的。为了获得最佳性能,预计客户端不会关闭连接,直到确定不再需要与服务器进行进一步通信(例如,当用户导航离开特定网页时)或直到服务器关闭连接。

[...]

鼓励服务器尽可能长时间地保持开放连接,但允许在必要时终止空闲连接。当任一端点选择关闭传输层 TCP 连接时,终止端点应该首先发送一个 GOAWAY(第 6.8 节)帧,以便两个端点能够可靠地确定先前发送的帧是否已被处理并优雅地完成或终止任何必要的剩余任务。

因此,两个端点都可以通过发送GOAWAY帧来优雅地关闭连接。NginxApache允许您配置超时,然后关闭空闲的 HTTP/2 连接。nginx 的默认值为 3 分钟,Apache 的默认值为 5 秒。