特性 | HTTP/1.1 + 常规 | HTTP/2 多路复用 | Nginx concat 模块 |
| 核心思路 | 多建连接:浏览器为每个域名建立多个(6-8个)TCP连接来并行加载。 | 复用连接:只用一个TCP连接,但内部通过“流”来并行传输无数个请求。 | 合并请求:在服务器端将多个文件(如CSS)实时合并成一个文件返回。 |
| 解决的问题 | 一定程度上缓解串行加载的阻塞问题,但有连接数上限。 | 彻底解决了HTTP/1.1的“队头阻塞”,实现真正的并行传输。 | 减少HTTP请求数量,特别适用于HTTP/1.1环境。 |
| 主要优点 | 兼容性最好,所有浏览器都支持。 | 性能卓越,单个连接承载所有流量,头部压缩效率高。 | 能显著减少HTTP/1.1下的请求数量,尤其对移动端友好。 |
| 主要缺点 | 连接数受限,存在队头阻塞;建立多个连接开销大。 | 虽然解决了应用层队头阻塞,但TCP层的队头阻塞依然存在(HTTP/3可解决)。 | 缓存粒度粗(一个文件更新,整个合并文件缓存失效);维护复杂;可能导致400错误;高并发下服务器I/O压力大。 |
| 最佳适用 | 任何现代浏览器的基础协议。 | 所有现代网站的基础协议,是当前的主流和最佳实践。 | 已被淘汰的方案,仅在无法升级HTTP/2的特定老旧环境中作为权宜之计。 |
方案 | 是否推荐? | 理由 |
| HTTP/1.1 + concat | 不推荐 | 这是历史时期的优化手段,现在已过时。 |
| HTTP/2 (多路复用) | 强烈推荐 | 现代Web的性能基石,最优解决方案。 |
| HTTP/2 + concat | 强烈不推荐 | 画蛇添足,引入弊端的错误组合。 |
| 欢迎光临 黑帽联盟 (https://bbs.cnblackhat.com/) | Powered by Discuz! X2.5 |