http3/quic简介
HTTP/3 是 HTTP/2 的后继者,旨在解决 HTTP/2 在实际应用中的一些问题和限制,同时充分利用现有网络技术的优势。以下是 HTTP/3 的一些优缺点:
1 优点
基于 QUIC 协议:HTTP/3 基于 QUIC 协议,这是一种基于传输层安全(TLS)的快速、低延迟的传输协议。QUIC 相较于 TCP,减少了网络延迟,提高了页面加载速度。
多路复用:HTTP/3 支持多路复用,允许多个请求和响应在一个连接上进行,避免了 HTTP/2 中的队头阻塞(HOL)问题。
头部压缩:HTTP/3 仍然采用 HPACK 头部压缩算法,与 HTTP/2 相比,进一步减少了网络传输的数据量。
0-RTT 连接建立:QUIC 协议支持 0-RTT 连接建立,这意味着在之前的连接上进行过通信的客户端和服务器可以在短时间内重新建立连接,从而减少建立连接所需的时间。
更好的加密和安全:HTTP/3 基于 TLS 1.3,提供了更强的加密和安全性,包括对 AEAD 加密、前向保密(PFS)和 0-RTT 连接建立的支持。
2 缺点
浏览器兼容性:虽然主流浏览器已经开始支持 HTTP/3,但普及程度还不及 HTTP/2。但是大部分都兼容了,在线查看:https://caniuse.com/http3网络设备支持:在网络设备(如防火墙、路由器等)中,HTTP/3 的支持还不够完善。这可能导致部分网络环境中的 HTTP/3 连接出现问题。
服务器资源占用:QUIC 协议相较于 TCP,在处理大量连接时可能会占用更多的服务器资源。这可能对服务器性能和稳定性产生一定影响。
迁移成本:将现有的 HTTP/2 服务迁移到 HTTP/3 可能需要一定的成本和开发工作,尤其是在使用非标准库或自定义协议的情况下。
3 总结
总的来说,HTTP/3 在性能、安全性和效率方面具有显著优势,缺点的影响并不大,对于追求WordPress网站速度的朋友来说值得尝试。一句话
适合瞎折腾党
如果想要开启HTTP2的话 请看下面的配置方法
2.http2/quic站点配置
步骤开始
在所有的站点域名中,只需要有一个 server 域中配置 reuseport 选项即可
1.选择网站–配置文件
添加以下配置到server{}内
listen 443 ssl; listen 443 quic reuseport; listen [::]:443 ssl; listen [::]:443 quic reuseport; http2 on; http3 on; http3_hq on; quic_retry on;
其他的站点如下配置即可
listen 443 ssl; listen 443 quic; listen [::]:443 ssl; listen [::]:443 quic; http2 on; http3 on; http3_hq on; quic_retry on;
在每一个对应站点的Nginx配置文件 上面的代码后面添加以下代码,然后重启 Nginx即可生效!
2.以下这段搜索add_header 然后在后面添加,添加完了记得把之前的add_header和ssl_开头的注释掉
#把原 ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;中的TLSv1.1以下版本的删掉, TLSv1.1 已经被淘汰了,密码套件也更新了 ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384'; ssl_early_data on; ssl_stapling on; ssl_stapling_verify on; # 添加 Early-Data 头告知后端, 防止重放攻击 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_buffering off; proxy_http_version 1.1; proxy_read_timeout 600s; add_header Alt-Svc 'h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-T051=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"'; add_header quic-status $http3 always; add_header x-quic 'h3' always;
说明
去除原有代码中已有的部分,如TLS、add_header等
3.放行tcp/UDP端口
宝塔面板——安全(记得把服务器上的安全组也要放行!!!)
4. 打开TLS1.3(默认已经设置了的可跳过)
宝塔面板—高级设置—TLS设置
选择tls v1.2 和tls v1.3
5. http3/quic检测
演示地址:https://test.xcbtmw.com/
HTTP3/QUIC检测地址
https://http3.wcode.net/?q=https%3A%2F%2Ftest.xcbtmw.com%2F
https://http3check.net/?host=https%3A%2F%2Ftest.xcbtmw.com%2F
额外内容:
浏览器配置(建议别开 开了难受,或者测试完后关掉。)
谷歌Chrome浏览器 访问:chrome://flags/
启用:Experimental QUIC protocol (enable-quic)
微软新版Edge浏览器 访问:edge://flags
启用:Experimental QUIC protocol 设置为“Enabled”
火狐Firefox浏览器 访问:about:config
启用:network.http.http3.enabled
开启后重启浏览器 然后F12–切换到网络–对着加载栏的名称表头–再右键–选择协议 调出来完事
转自:https://www.xcbtmw.com/30007.html 有部分修改 仅作为笔记