Skip to content

HTTP/2

在响应式栈中查看等效项

Servlet 4 容器被要求支持 HTTP/2,而 Spring Framework 则需要 Servlet API 6.1。从编程模型的角度来看,应用程序不需要做任何特定的工作。然而,关于服务器配置有一些需要考虑的事项。欲了解更多详情,请参阅 HTTP/2 wiki 页面


补充教学

1. HTTP/2 的核心优势

  • 多路复用 (Multiplexing):允许通过单个 TCP 连接并行发送多个请求和响应,解决了 HTTP/1.1 中的队头阻塞 (Head-of-Line Blocking) 问题。
  • 头部压缩 (Header Compression):使用 HPACK 算法压缩 HTTP 头部,显著减少带宽消耗。
  • 服务器推送 (Server Push):服务器可以主动向客户端推送资源(如 CSS/JS),进一步提升首屏加载速度。

2. Spring 框架的透明支持

对于开发者来说,HTTP/2 几乎是“隐形”的。Spring MVC 依然运行在标准的 Servlet 容器上。只要你的容器(如 Tomcat 10.1+ 或 Jetty 11+)开启了 HTTP/2 协议,Spring 的 Controller 逻辑无需任何改动即可享受性能提升。

3. 注意事项

  • HTTPS 是必须的:虽然协议本身没有强制要求,但目前所有主流浏览器都仅支持基于 TLS (HTTPS) 的 HTTP/2。
  • Servlet 版本:确保应用运行在 Servlet 4.0+ 環境(Spring 6 之后推荐 6.1+),这是启用 HTTP/2 的前提条件。

Based on Spring Framework.