如何在 HTTP Body 流期间/之后发送 HTTP 标头?有这方面的规范工作吗?

问题描述 投票:0回答:1

如今,在将 HTTP 主体发送到浏览器之前,都需要发送 HTTP 标头。

这对于 React 18 Streaming 等新技术来说尤其成问题,其中某些标头(例如缓存标头和

103 Early Hints
)只能在 HTTP 流末尾确定。理想情况下,这些迟到的标头将在结束流之前发送到浏览器。

规范工作组或浏览器供应商是否做出了努力,使标头能够在 HTTP 主体期间/之后发送?

经过研究,似乎没有这方面的规范工作,但我想知道是否有浏览器供应商在做这方面的工作? (一些浏览器用户在 StackOverflow 上很活跃。)

上下文:我是vite-plugin-ssrreact-streaming的作者。

http http-headers server-side-rendering http-streaming
1个回答
4
投票

有一个用于分块编码的预告片字段规范(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

© www.soinside.com 2019 - 2024. All rights reserved.