关于Chunked transfer encoding

进来在做一些http协议方面的东西,期间碰到数据传输的一些问题,下面就来说下Chunked transfer encoding.wiki地址为:http://en.wikipedia.org/wiki/Chunked_transfer_encoding

 

Chunked transfer encoding:作为http 1.1 版本的一种数据传输机制,web服务器使用此方式通过一系列的块来返回数据.在http响应头部使用Transfer-Encoding来代替Content-Length字段,这能满足协议在某些情况下的需求.由于未使用Content-Length字段,在开始传输响应消息到客户端(通常为浏览器)之前,web服务器无需知道发送的内容的长度.在获取内容总的大小之前,web服务器可以动态产生内容并进行传输.每个块传输之前都会先发送其大小,这样客户端就能知道何时能完成一块数据的接收.数据的传输以最后一个大小为0的块表示结束.每一个块的开始都是以十六进制表示的块大小开始.大小后面是回车换行符(CRLF),然后就是具体的数据,每个块以回车换行符(CRLF)结束.若块中有额外信息提供,则在块大小后添加分号,然后就是具体的选项名称和对应的值.最后一块数据是一个块的长度为0的块,并且无数据区域.关于HTTP 1.1可以参照RFC 2616

 

以上是参照wiki的一些翻译和个人理解的结合,不足之处,将修改之.

posted @ 2012-05-24 11:44  一线天  阅读(648)  评论(0编辑  收藏  举报