分块传输编码包装有效载荷体将其以一系列分块的形式传输,每一个分块有它字节的尺寸指示符,之后是一个包含头字段的可选尾部标记。Chunked使未知大小的内容流能够作为一系列长度分隔的缓冲区进行传输,从而使发送方能够保持连接持久性,并使接收方知道何时接收到整个消息。

    1. chunked-body = *chunk
    2. last-chunk
    3. trailer-part
    4. CRLF
    5. chunk = chunk-size [ chunk-ext ] CRLF
    6. chunk-data CRLF
    7. chunk-size = 1*HEXDIG
    8. last-chunk = 1*("0") [ chunk-ext ] CRLF
    9. chunk-data = 1*OCTET ; a sequence of chunk-size octets

    chunk-size字段是一个十六进制数字的字符串指示分块数据的字节尺寸。当一个chunk-size为0的分块被接收到,可能跟随一个尾标并且最后由一个空行终止,那么分块传输就完成了。

    接收者必须能够解析并解码分块传输编码。