文章目录什么是 HTTP/3 呢?CHrome/FireFox/Edge浏览器如何关闭 HTTP/3 呢?残留小问题在线检测网站今天年初升级服务器的时候,尝试给网站配置了HTTP/3协议,不过当时没有完全成功,FireFox下正常,Chrome下Waterfall(瀑布)中的stalled(已停止)时间较久,最后就放弃了。
原来使用的是第三方开发的HTTP3扩展,可能是兼容问题吧,后来正好发现nginx对HTTP3模块进行了更新,于是就换用了Nginx官方的HTTP3扩展。换了之后就发现原来Chrome下的问题消失了,于是就正式开始使用HTTP3,目前用了一个多月,算是基本正常。
什么是 HTTP/3 呢?HTTP/3是第三个主要版本的HTTP协议。与其前任HTTP/1.1和HTTP/2不同,在HTTP/3中,将弃用TCP协议,改为使用基于UDP协议的QUIC协议实现。此变化主要为了解决HTTP/2中存在的队头阻塞问题。由于HTTP/2在单个TCP连接上使用了多路复用,受到TCP拥塞控制的影响,少量的丢包就可能导致整个TCP连接上的所有流被阻塞。
QUIC(快速UDP网络连接)是一种实验性的网络传输协议,由Google开发,该协议旨在使网页传输更快。
2019年9月,HTTP/3支持已添加到Cloudflare和Google Chrome(Canary build)。Firefox Nightly在2019年秋季之后添加支持。
2022年6月6日,IETF正式标准化HTTP/3为RFC9114。-- 维基百科
目前Chrome、FireFox、Edge浏览器都默认支持HTTP/3了,通过开发者工具就能看到网站的请求中是否支持HTTP3,右击菜单那一行,选择上“协议”,然后刷新页面就能看到页面上的元素是通过什么加载的了,如下图:

当然可能部分地区的运营商会针对 UDP 协议进行 QOS 限速或丢包,反而会导致了上网体验的下降,其实也是可以手动关闭浏览器的HTTP/3。
CHrome/FireFox/Edge浏览器如何关闭 HTTP/3 呢?Google Chrome
在浏览器地址栏输入并回车:chrome://flags/#enable-quic
将 Experimental QUIC protocol 设置为 Disabled
Mozilla Firefox
在浏览器地址栏输入并回车:about:config
然后搜索 network.http.http3.enabled,如果显示为 true 则双击它使其变更为 false 即为关闭
Microsoft Edge
在浏览器地址栏输入并回车:edge://flags/#enable-quic
将 Experimental QUIC protocol 设置为 Disabled
残留小问题上文说到我体验下来算是基本正常,其中有个小问题,就是WordPress后台,评论列表或者文章列表的分页链接,正常应该是 https://www.weisay.com/blog/wp-admin/edit-comments.php?paged=2,但是目前却是 https://blog/wp-admin/edit-comments.php?paged=2。链接中域名丢了,当然只要我把浏览器的HTTP/3关闭,就恢复正常,目前还找不到原因所在,好在也不算多影响使用,持续在nginx-quic上关注Nginx官方对HTTP/3扩展的升级,或许这个问题后续就消失了。
在线检测网站https://geekflare.com/tools/http3-test
https://http3check.net/
PS:可能由于我域名首页做了301跳转,http3check.net 无法正常测出http/3,geekflare.com就能正常测出。