新功能:阿里云负载均衡支持HTTP/2、WSS协议(现已全地域覆盖)

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
应用型负载均衡 ALB,每月750个小时 15LCU
简介: 很高兴的告诉大家,阿里云负载均衡已经在全地域支持HTTP/2、WSS(Web Socket Secure)协议。 什么是HTTP/2 HTTP2是超文本传输协议的第二版,Hypertext Transfer Protocol Version 2 (HTTP/2),向下兼容HTTP1.X协议版本,同时带来性能的大幅提升。

很高兴的告诉大家,阿里云负载均衡已经在全地域支持HTTP/2、WSS(Web Socket Secure)协议。

1、HTTP/2协议支持

什么是HTTP/2

HTTP2是超文本传输协议的第二版,Hypertext Transfer Protocol Version 2 (HTTP/2),向下兼容HTTP1.X协议版本,同时带来性能的大幅提升。

HTTP/2相比HTTP/1.X有哪些优点

多路复用 (Multiplexing): 多路复用允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息。
二进制分帧与首部压缩: 提升了数据在网络中传输的效率
服务端推送(Server Push): 服务端可以主动往客户端推送数据,以减少请求次数提升效率
除此以外还有流量控制主动重置请求请求优先级等众多特性使得WEB服务性能得以大幅提升

HTTP/1.1与HTTP/2请求过程对比

image

通过访问https://http2.akamai.com/demo可以看到HTTP/2传输性能相对于HTTP/1.X的显著提升

如何在阿里云负载均衡SLB上启用HTTP2协议

无需配置,在HTTPS监听上默认支持(当前不支持明文的HTTP2)

限制于约束

  • HTTP/2协议仅在HTTPS监听上支持,不支持明文HTTP2(HTTP/2 Cleartext)
  • SLB HTTPS监听会侦测客户端发起的握手报文ClientHello中的ALPN字段进行协议版本的协商,若客户端ClientHello报文中没有携带ALPN字段,则SLB将按照HTTP/1.x的请求逻辑来处理
  • 在HTTP2.0链路上,所有后端发给SLB的回应,根据协议要求,将head中所有字段的名称改为小写字母,如Content-Type会被改写为content-type
  • 当前HTTP/2只启用在客户端到SLB之间的链路,SLB到后端服务器之间的连接依然是HTTP/1.X
  • HTTP/2的请求会统计到监听/实例的QPS中,与HTTP/1.X的QPS请求统一计数
  • 单个连接支持的最大并发stream数为128
  • HTTP/2的连接超时时间为180秒,不可例外

2、WSS协议支持

什么是WS/WSS

WS是Web Socket的缩写
WebSocket 是 HTML5 一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通讯,它建立在 TCP 之上,同 HTTP 一样通过 TCP 来传输数据,但是它和 HTTP 最大不同是:
WebSocket 是一种双向通信协议,在建立连接后,WebSocket 服务器和 Browser/Client Agent 都能主动的向对方发送或接收数据,就像 Socket 一样;WebSocket 需要类似 TCP 的客户端和服务器端通过握手连接,连接成功后才能相互通信。
WSS是Web Socket Secure的缩写即WebSocket加密版本。

为何使用WS/WSS

随着互联网的蓬勃发展,各种类型的WEB应用层出不穷,很多应用要求服务端有能力进行实时推送能力(比如直播间聊天室),以往很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。
在这种情况下,HTML5定义了WebSocket协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。
WebSocket实现了浏览器与服务器全双工(full-duplex)通信—允许服务器主动发送信息给客户端。

WebSocket协议的交互过程如下:

image

如何在阿里云负载均衡SLB上启用WS/WSS支持

无需配置,当选用HTTP监听时,默认支持无加密版本WebSocket协议;当选择HTTPS监听时,默认支持加密版本的WebSocket协议,即WSS;

限制于约束

  • 负载均衡与ECS后端服务的连接采用HTTP/1.1,建议后端服务器采用支持HTTP/1.1的WebServer
  • 若负载均衡与后端服务超过60秒无消息交互,会主动断开连接,如需要维持连接一直不中断,需要主动实现保活机制,每60秒内进行一次报文交互

3、支持的地域

当前仅在欧洲中部(法兰克福)与亚太东南3(吉隆坡)地域支持HTTP/2、WSS,其他地域会陆续支持

4、收费政策

HTTP/2、WSS协议支持不额外收取费用

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
5天前
|
算法 网络协议 安全
HTTP/2 协议的缺点是什么?
HTTP/2 协议的缺点是什么?
|
5天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
31 3
|
16天前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
44 13
|
9天前
|
传感器 缓存 网络协议
CoAP 协议与 HTTP 协议的区别
CoAP(Constrained Application Protocol)协议是为资源受限的设备设计的轻量级协议,适用于物联网场景。相比HTTP,CoAP具有低功耗、低带宽占用和简单易实现的特点,支持多播通信和无连接的交互模式。
|
14天前
|
开发者
HTTP 协议请求方法的发展历程
【10月更文挑战第21天】
|
14天前
|
安全
HTTP 协议的请求方法
【10月更文挑战第21天】
|
14天前
|
缓存 安全 前端开发
HTTP 协议的请求方法在实际应用中有哪些注意事项?
【10月更文挑战第29天】HTTP协议的请求方法在实际应用中需要根据具体的业务场景和需求,合理选择和使用,并注意各种方法的特点和限制,以确保网络通信的安全、高效和数据的一致性。
|
16天前
|
存储 缓存 网络协议
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点,GET、POST的区别,Cookie与Session
计算机网络常见面试题(二):浏览器中输入URL返回页面过程、HTTP协议特点、状态码、报文格式,GET、POST的区别,DNS的解析过程、数字证书、Cookie与Session,对称加密和非对称加密
|
18天前
|
网络协议 前端开发 API
HTTP 和 TCP 协议的应用场景有哪些不同
【10月更文挑战第25天】HTTP(超文本传输协议)和 TCP(传输控制协议)处于网络协议栈的不同层次,各自具有独特的功能和特点,因此它们的应用场景也存在明显的差异。
|
18天前
|
安全 前端开发 JavaScript
利用HTTP协议进行文件上传和下载的常见方法
【10月更文挑战第25天】可以利用HTTP协议方便地实现文件的上传和下载功能,满足不同应用场景下的需求。在实际应用中,还可以根据具体的业务需求和安全要求,对文件上传和下载的过程进行进一步的优化和安全处理。

相关产品

  • 负载均衡