gpt4 book ai didi

HTTP2:如何表示支持? HTTP2 有 "Alternate-Protocol"吗?

转载 作者:行者123 更新时间:2023-12-01 11:30:17 24 4
gpt4 key购买 nike

所以我刚升级到支持HTTP2的nginx 1.9.5。

我用 listen http2 替换了所有 listen spdy,删除了 spdy_headers_comp 指令,还删除了 add_header Alternate-Protocol 443:npn- spdy/3;

然后我在 Firefox 中打开我的站点,打开网络监视器,瞧:版本:HTTP/2.0

但是 Firefox 如何知道我的站点支持 HTTP2?在尝试 HTTP1.1 之前,是否总是首先尝试通过 HTTP2 进行连接?

最佳答案

HTTP/2站点部署在 TLS 上.

浏览器使用名为 ALPN 的 TLS 扩展告诉服务器他们可以使用什么协议(protocol)。浏览器始终发送此 TLS 扩展,并且始终包括 HTTP/2 和 HTTP/1.1(并且可能还包括旧的 SPDY 协议(protocol))。

服务器接收浏览器可以使用的协议(protocol)列表,如果服务器支持 HTTP/2(并且如果满足许多其他条件——特别是关于 TLS 协议(protocol)版本和密码套件),服务器决定与浏览器对话 HTTP/2,并将选择的协议(protocol)发送回浏览器,再次使用 ALPN 扩展。

如果服务器不支持 HTTP/2,那么它将通过 ALPN 扩展发送给浏览器它只能使用 HTTP/1.1。

如果服务器不支持 ALPN 扩展,则它不会将其发送到浏览器,浏览器将默认与该服务器通信 HTTP/1.1。

关于HTTP2:如何表示支持? HTTP2 有 "Alternate-Protocol"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32721969/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com