开启 HTTP/3 & QUIC 在 Docker Compose+Nginx
HTTP/3 基于 UDP 的 QUIC 协议,多路复用安全传输
HTTP/1.1 和 HTTP/2 都将 TCP 用作其传输协议
HTTP/3 和 QUIC 具有很多优势:
1.第一个请求的响应时间更短。在客户端和服务器之间以较少的往返次数协商连接,第一个请求会更快地到达服务器。
2.改进了发生连接数据包丢失时的体验。 HTTP/2 通过一个 TCP 连接多路复用多个请求。 如果在连接时发生数据包丢失,会影响所有请求。 这个问题称为“队头阻塞”。 由于 QUIC 提供本机多路复用,因此丢失的数据包只会影响已丢失数据的请求。
3.支持在网络之间转换。对于移动设备非常有用,因为在移动设备更改位置时,在 WIFI 和移动电话网络之间切换是很常见的。 目前,在切换网络时,HTTP/1.1 和 HTTP/2 连接会失败并提示错误。 应用或 Web 浏览器必须重试任何失败的 HTTP 请求。 HTTP/3 让应用或 Web 浏览器在网络发生更改时可以无缝地继续
浏览器端 开启 HTTP/3 & QUIC
谷歌Chrome浏览器 访问:chrome://flags/
启用:Experimental QUIC protocol (enable-quic)
微软新版Edge浏览器 访问:edge://flags
启用:Experimental QUIC protocol 设置为“Enabled”
火狐Firefox浏览器 访问:about:config
启用:network.http.http3.enabled
测试是否已经支持 QUIC:
https://quic.nginx.org/
https://quic.nginx.org/quic.html
https://cloudflare-quic.com/
测试 网站 是否支持
https://http3check.net/
https://geekflare.com/tools/http3-test
服务器端 开启
docker-compose.yml
services:
nginx:
image: registry.gitlab.com/dasskelett/nginx-quic-docker/nginx-quic:latest
container_name: nginx-quic
restart: always
ports:
- "80:80"
- "443:443/tcp"
- "443:443/udp"
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- /home/log:/var/log/nginx
- /home/www:/usr/share/nginx/html
- /home/sslcrt/1_www.xxx.com.pem:/etc/nginx/cert.pem:ro
- /home/sslcrt/2_www.xxx.com.key:/etc/nginx/cert.key:ro
nginx.conf
server {
listen 443 quic reuseport;
listen 443 ssl http2;
ssl_protocols TLSv1.3 TLSv1.2 TLSv1.1 TLSv1;
location / {
add_header Alt-Svc 'h3=":443"; ma=86400';
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!