gpt4 book ai didi

http - HTTP 客户端应该如何正确解析 *chunked* HTTP 响应主体?

转载 作者:可可西里 更新时间:2023-11-01 15:07:41 28 4
gpt4 key购买 nike

当使用chunked HTTP传输编码时,为什么服务器需要同时写出chunk的字节大小并且后续的chunk数据以CRLF结尾?

这不会使发送二进制数据“CRLF-unclean”和方法有点多余吗?

如果数据在某处有一个 0x0A 后跟 0x0D 怎么办(即这些实际上是数据的一部分)?客户端是否期望遵守在 block 头部显式提供的 block 大小或在数据中遇到的第一个 CRLF 时阻塞?

到目前为止,我对预期客户端行为的理解是简单地获取服务器提供的 block 大小,继续下一行,然后从以下数据(CRLF 或其中没有 CRLF)中准确读取该字节数,然后跳过数据后面的 CRLF 并重复该过程,直到没有更多 block 。这是合规行为吗?如果是这样,那么每个数据 block 之后的 CRLF 有什么意义呢?可读性?

我已经对此进行了一些网络搜索,还阅读了一些 HTTP 1.1 规范,但我似乎无法找到明确的答案。

最佳答案

分块消费者不会扫描消息正文以查找 CRLF 对。它首先读取指定数量的字节,然后再读取两个字节以确认它们是 CR 和 LF。如果不是,则消息正文格式不正确,并且大小指定不正确或数据已损坏。

尾随的 CRLF 是安全带保证(根据 RFC 2616 section 3.6.1分块传输编码),但它也用于维护字段从行首开始的一致规则.

关于http - HTTP 客户端应该如何正确解析 *chunked* HTTP 响应主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2127637/

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