概念定义
push promise 弃用:协议语义——安全与不安全、幂等与非幂等、可缓存与不可缓存——是客户端与中介依赖的契约,违反它们就破坏了 Web。
工作机制
头部承载协商:内容类型、编码、缓存指令与条件请求验证器共同让客户端与服务器达成最廉价的正确响应。连接复用消除握手开销;多路复用消除队头阻塞;流式避免缓冲整个体。每个特性都有失败模式——坏代理上的 keep-alive、行为异常服务器上的多路复用——必须检测并处理。
使用场景
凡客户端与服务器跨协议已横跨的信任边界通信时应用。误区是把 HTTP 当传输并忽视其语义——用 POST 做检索、把变异请求标为可缓存、省略本可启用 304 的验证器。中介——CDN、代理——字面实现标准,故语义违规在远离源处产生意外行为。
延伸说明
补充说明:push promise 弃用要求在设计与运维中持续权衡效率、正确性与可维护性,任何单一维度的过度优化都可能引入另一维度的风险。实践上应结合具体场景的约束、团队规模与变更频率,在小步验证中积累证据,而非凭一次假设或单一指标下结论。