如果未发送HTTP标头,如何从分块编码确定内容数据长度

Moh*_*sri 3 http chunked content-length

如果未发送Transfer-Encoding: chunked标头而是您收到标头,如何确定内容数据长度?

Cia*_*ing 10

使用分块编码时,将没有Content-Length标头.因此,在读完标题和标记标题末尾的CRLF对后,您就可以读取第一个块了.每个块有效负载前面都有自己的迷你标头 - 以十六进制表示的长度,后跟CRLF.在有效载荷之后还有另一个CRLF,在下一个chunk的迷你标题之前.一个块也可以跟随一些可选的预告片.消息的结尾由零长度块表示.

您可以在HTTP RFC,RFC2616中找到明确的详细信息.

  • 旧话题,但这里是我的回答,给出了一个示例,其中包含RequestHeaders + ChunkedBody + AfterHeaders和一个块大小内的可选扩展密钥对.http://stackoverflow.com/a/16460234/185565 (2认同)