如今,在将 HTTP 主体发送到浏览器之前,都需要发送 HTTP 标头。
这对于 React 18 Streaming 等新技术来说尤其成问题,其中某些标头(例如缓存标头和
103 Early Hints
)只能在 HTTP 流末尾确定。理想情况下,这些迟到的标头将在结束流之前发送到浏览器。
规范工作组或浏览器供应商是否做出了努力,使标头能够在 HTTP 主体期间/之后发送?
经过研究,似乎没有这方面的规范工作,但我想知道是否有浏览器供应商在做这方面的工作? (一些浏览器用户在 StackOverflow 上很活跃。)
上下文:我是vite-plugin-ssr和react-streaming的作者。
有一个用于分块编码的预告片字段规范(Http 1.1,https://httpwg.org/specs/rfc7230.html#header.trailer)。
HTTP2 规范(不支持分块编码)直接允许在包含 http 正文的数据帧后面使用标头帧https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.
库支持可能会有所不同,因为大多数 http 库都试图抽象出底层协议中的差异。在 Javascript 中,您会对在跨浏览器标准获取 API 中启用尾随标头感兴趣。 MDN 文档建议支持参考
trailers
对象上的 Response
字段:https://developer.mozilla.org/en-US/docs/Web/API/Response。