gpt4 book ai didi

HTTP 分块编码。需要 SPEC 中提到的 'Trailer' 的示例

转载 作者:可可西里 更新时间:2023-11-01 15:05:08 30 4
gpt4 key购买 nike

我正在为透明代理编写 HTTP 解析器。令我困惑的是 Transfer-Encoding: chunked 规范中提到的 Trailer:。它看起来像什么?

通常,一个 HTTP 分块会这样结束。

0\r\n
\r\n

我感到困惑的是,如果存在某种尾随 header ,如何检测 block 的结尾...

更新:我相信一个简单的 \r\n\r\n空行 足以检测到结束尾随标题...是正确的吗?

最佳答案

下面是我从 The TCP/IP Guide site 复制的示例预告片的副本. trailer sample

如我们所见,如果我们想使用尾部 header ,我们需要添加带有 header 名称的“Trailer:header_name” header 字段,然后在分块主体区域之后添加尾部 header 实体。

根据 RFC,我们可以在 HTTP 正文中添加 0 个或多个尾 header 。RFC7230 的第 4.1.2 节禁止在预告片标题区域使用以下标题:

A sender MUST NOT generate a trailer that contains a field necessaryfor message framing (e.g., Transfer-Encoding and Content-Length),routing (e.g., Host), request modifiers (e.g., controls andconditionals in Section 5 of RFC7231), authentication (e.g., seeRFC7235 and RFC6265), response control data (e.g., see Section 7.1of RFC7231), or determining how to process the payload (e.g.,Content-Encoding, Content-Type, Content-Range, and Trailer).

这意味着我们可以在预告片标题区域使用其他标准标题和自定义标题。

关于HTTP 分块编码。需要 SPEC 中提到的 'Trailer' 的示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5590791/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com