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 的前提条件。