分块传输编码(Chunked transfer encoding)是
超文本传输协议(HTTP)中的一种数据传输机制,允许
HTTP由网页服务器发送给
客户端应用( 通常是
网页浏览器)的数据可以分成多个部分。分块传输编码只在
HTTP协议1.1版本(HTTP/1.1)中提供。
分块传输编码(Chunked transfer encoding)是
超文本传输协议(HTTP)中的一种数据传输机制,允许
HTTP由网页服务器发送给
客户端应用( 通常是
网页浏览器)的数据可以分成多个部分。分块传输编码只在
HTTP协议1.1版本(HTTP/1.1)中提供。
通常,HTTP应答消息中发送的数据是整个发送的,Content-Length消息头字段表示数据的长度。数据的长度很重要,因为客户端需要知道哪里是应答消息的结束,以及后续应答消息的开始。然而,使用分块传输编码,数据分解成一系列数据块,并以一个或多个块发送,这样服务器可以发送数据而不需要预先知道发送内容的总大小。通常数据块的大小是一致的,但也不总是这种情况。
如果一个HTTP消息(请求消息或应答消息)的Transfer-Encoding消息头的值为chunked,那么,消息体由数量未定的块组成,并以最后一个大小为0的块为结束。
每一个非空的块都以该块包含数据的
字节数(字节数以
十六进制表示)开始,跟随一个CRLF (
回车及
换行),然后是数据本身,最后块CRLF结束。在一些实现中,块大小和CRLF之间填充有白空格(0x20)。