你们公司还没使用HTTP3?赶紧来补一补,学习一下如何在Nginx上配置HTTP3。
你们公司还没使用HTTP3?赶紧来补一补,学习一下如何在Nginx上配置HTTP3。
NGINX最新版本,已提供对 QUIC 和 HTTP/3的支持,本文介绍一下如何安装与配置
很高兴能在一个特殊的开源存储库中发布NGINX的QUIC+HTTP/3技术预览版。这是基于IETF QUIC 草稿的预发行版软件,维护在开发分支中,与稳定分支和主线分支隔离。该版本是几个月前才启动开发的,现在已准备好进行互操作性测试、反馈和代码贡献。
使用 NGINX QUIC+HTTP/3 实现启用的演示站点可在https://quic.nginx.org/。
了解 HTTP/3 协议
在这个快节奏的世界中,超文本传输协议 (HTTP) 在二十多年里一直非常稳定。HTTP/1.1 标准于 1999 年发布,已成为 Web 应用程序和 API 无处不在的传输协议。尽管用于传输的应用程序和服务发生了巨大变化,但该协议在未来 21 年内保持不变。
此时,精明的读者可能会问,"但HTTP/2呢?这是一个很好的问题。HTTP/2 标准于 2015 年发布,并稳步采用,45% 的面向 Internet 的网站支持 HTTP/2。然而,这个统计数据掩盖了这样一个现实,就是在公共 Internet 上使用 HTTP与"最后一英里"(运行时基础结构)相比,HTTP 的使用大不相同。
现代互联网基础设施的现实是 HTTP/2 很少被端到端部署。它旨在解决在公共 Internet 上最明显的问题,其中延迟过高,并且一个 HTTP 请求的问题可能会延迟后续请求。在应用程序运行时环境中(例如,公共云或私有数据中心)延迟较低,网络可靠性极佳,直接检查 HTTP/1.1 基于文本的传输流的能力比 HTTP/2 的二进制传输流的效率更有价值。
HTTP/2 在很大程度上改善了浏览器和移动设备上的用户体验,因为它非常适合客户端和运行时基础结构的"边缘"之间的环境。此时,它通常被代理到使用 HTTP/1.1 的运行时环境中。边缘最有可能是 CDN 提供程序,或处理进入运行时环境的流量的反向代理负载均衡器。
HTTP 版本的典型混合部署
这种使用 HTTP/2 和 HTTP/1.1 来提供网站和应用程序的混合方法效果很好。那么,为什么要提出另一个新协议,HTTP/3呢?
HTTP/2 的主要创新是通过使用 TCP 作为低延时传输的通过单个HTTP连接进行多路复用以传输多个 HTTP 请求。不幸的是,TCP 具有固有的限制,限制了网站和应用程序的性能和用户体验。TCP 标准最初于 1981 年发布,作为通用传输协议非常成功。但是,当您在同一连接上多路复用多个独立请求时,它们都受该连接的可靠性影响。如果只有一个请求的数据包丢失,则所有多路复用请求将延迟,直到首先检测到丢失的数据包,然后重新传输。
HTTP/3 基于QUIC传输协议,该协议专门设计用于支持多路复用连接,而不受单个 TCP 连接。相反,QUIC 使用 UDP作为在客户端和服务器之间移动数据包的低延时传输机制,并实现发出 HTTP 请求的可靠连接。值得注意的是,QUIC 还将 TLS 作为整体组件,而不是作为 HTTP/1.1 和 HTTP/2 的附加层。
QUIC协议
QUIC 的目标是为 HTTP/3 提供高性能、高可靠性、高安全性的传输协议(尽管 QUIC 也适用于非 HTTP 流量)。从语义上讲,HTTP/3 本身与 HTTP/2 非常相似。但是,没有 HTTP 协议同时支持一个或多个 HTTP/1.1、HTTP/2 和 HTTP/3。客户端(Web 浏览器)如何知道要使用的 HTTP 版本?
版本控制问题首先出现在 HTTP/2 的引入中,HTTP/2 通过使用 TLS 握手来检测客户端和服务器是否能够通过 HTTP/2 进行通信,从而解决了该问题。这样,客户端知道如何在建立连接之前与服务器通信。但是,QUIC 使用 UDP 而不是 TCP 作为基础传输协议带来了新的挑战 - 客户端如何知道最初请求哪种类型的连接,TCP 或 UDP?该解决方案是客户端为初始 HTTP 请求建立 TCP 连接。支持 HTTP/3 的服务器的响应包括Alt-Svc
标头,用于指定它侦听 HTTP/3 流量的 UDP 端口。此外,浏览器还记住哪些站点支持 QUIC,以消除基于 Alt-Svc
+ 的发现方法的开销。
NGINX QUIC+HTTP/3 预览
今天,我们宣布NGINX的官方QUIC和HTTP/3实施的初始版本,http_v3_module。这是一个技术预览,必须被认为是实验性的 - 它不是用于生产用途。在编写本文时,QUIC 标准尚未最终确定,并且此初始版本针对当前草稿的子集实现。
经过几个月的设计和开发,http_v3_module已准备好进行互操作性测试。我们也欢迎一般的反馈和代码贡献。请注意,http_v3_module在 NGINX 开源主线开发分支中不可用(也未提供 NGINX Plus 的任何版本);因为它仍然是实验性的,所以在一个专门的开发分支https://hg.nginx.org/nginx-quic。
另请注意,此 QUIC+HTTP/3 实现是全新的,与 Cloudflare 在其 quiche 项目中提供的修补程序无关。
对于熟悉 NGINX 配置的人,启用 QUIC+HTTP/3 非常简单。
server {listen 443 ssl; # TCP listener for HTTP/1.1listen 443 http3 reuseport; # UDP listener for QUIC+HTTP/3ssl_protocols TLSv1.3; # QUIC requires TLS 1.3ssl_certificate ssl/www.example.com.crt;ssl_certificate_key ssl/www.example.com.key;add_header Alt-Svc 'quic=":443"'; # Advertise that QUIC is availableadd_header QUIC-Status $quic; # Sent when QUIC was used
}
有关从nginx-quic 存储库构建 NGINX以及建议配置的信息,请参阅README。此外,在 http_v3_module 上https://quic.nginx.org/。从这里,您可以检查您的浏览器是否已经支持QUIC,并将HTTP/3互操作性与您自己的nginx-quic 版本进行比较。
鉴于 QUIC 的草稿状态,您可能需要使用开发版本或通用浏览器的最新版本来启用 QUIC 连接。
翻译来源:https://www.nginx.com/blog/introducing-technology-preview-nginx-support-for-quic-http-3/
你们公司还没使用HTTP3?赶紧来补一补,学习一下如何在Nginx上配置HTTP3。相关推荐
- HTTP3快来了,提前学习一下如何在Nginx中支持HTTP3.0/QUIC
HTTP3快来了,提前学习一下如何在Nginx中支持HTTP3.0/QUIC HTTP3.0,也称作HTTP over QUIC.核心是QUIC(读音quick)协议,由Google在2015年提出的 ...
- Suzy找到实习了吗 | 字符串结束啦 今天学习kmp 题还没做!!!记得回来补!!!
kmp 看完了kmp的讲解视频 还没做题,跳过了 先占坑 再来补!!!!
- 2022好用不亏的数码产品推荐、趁着618还没结束赶紧入
还有不到一周的时间今年的618电商节就要结束啦!刷朋友圈也看见朋友发文表示618快结束了,但还不知道要买啥.618作为电商优惠力度最大的一个电商节,好多人都会在这个活动期间入手一些平时价格比较昂贵的商 ...
- 拥有无数个智能摄像头,却还没让城市睁开双眼
智能摄像头之于智慧城市,已经成了一项必然的存在.仿佛城市里要是没有三五千个智能摄像头.张学友演唱会上没抓到过逃犯,整个城市在智慧化进度上就矮人一截一样. 从全球范围来看,通过智能摄像头观测城市运行状况 ...
- 在Nginx中支持HTTP3.0/QUIC
在Nginx中支持HTTP3.0/QUIC HTTP3.0,也称作HTTP over QUIC.核心是QUIC(读音quick)协议,由Google在2015年提出的SPDY v3演化而来的新协议,传 ...
- 进公司两个月了还没上手项目_27个“经验证且易于上手”的赚钱在线业务创意
进公司两个月了还没上手项目 Are you looking for online business ideas to make extra income on the side? The intern ...
- 37岁主管被裁,无奈降薪去小公司遭群嘲:许多人早就破产了,只是活在还没倒闭的公司里!...
大家好,我是B哥. 有人说,程序员吃的是青春饭:在大学刚毕业的时候,可以轻轻松松找到比同龄学生化环材的同学高几倍工资的工作,薪水一般岗位高很多,很容易就实现经济自由. 中年的时候,虽然自己是公司的老员 ...
- 请问!退休年龄到了,社保没交够,现在职,公司还可以继续交吗?
楼主你好,退休年龄到了,社保还没有交够,现在在职公司还可以继续交吗?一般情况下公司是不会继续教的,因为在到达法定退休年龄之前,根据劳动合同法的规定,那么劳动合同关系是属于自动解除的状态,一旦劳动合同关 ...
- 如果你还没入职,那么你必须看我的这个入职vlog[教你快速成长为职业人]
首先,这篇文章是写给那些马上要步入职场或者还没步入职场的小白的. 我写这篇文章的目的,不会太多的去给你灌输离大家很遥远的什么职业规划啊一类的,我会告诉大家怎么能快速的适应环境,怎么能快速发挥自己价值, ...
最新文章
- C语言中的位运算和逻辑运算
- macbook 分屏软件
- 时间选择控件在不同场景下的应用
- 第26月第26天 Domain=AVFoundationErrorDomain Code=-11850
- springboot html压缩,springboot 请求响应压缩
- Xlua中的util脚本中的async_to_sync方法 记录
- android 管理activity
- pythondraw解释_科学网—Draw figures with Python - 高琳琳的博文
- Linux下elasticsearch的安装与使用
- Libcurl的编译_HTTP/HTTPSclient源代码演示样例
- Android学习之Activity生命周期
- SpringBoot 轻量级英文版个人博客 flame
- 论坛php网站模板,自适应discuz论坛门户网站模板
- word文档打对勾_word文档怎么打勾 word文档方框内打勾六种方法介绍
- 期权期货和金融衍生品学习笔记 -- 第一章引言
- 用Python绘制折线图(下)
- Excel VBA初级系列培训--课时2
- 项目管理——项目进度的确定
- OpenJudge NOI 1.8 20:反反复复
- 刷脸支付人工智能和商业领域进一步融合