HTTP之Chunk

x33g5p2x  于10个月前 转载在 其他  
字(0.4k)|赞(0)|评价(0)|浏览(106)

Chunk简介

HTTP是可以传输大文件的,比如上G的资源。

上G的资源肯定是无法直接传输的,因为以太网有着MTU的限制,所以HTTP采用了Chunk的方法来传输大文件

chunk是HTTP应用层实现的分块,不需要TCP的分段了。

Chunk详解

Chunk的中文意思就是块。
Chunk就是将大文件分成块,一个块对应着一个Http请求,然后会对每个Http进行编号,然后在接收方重组。

正常的Http请求都是客户端请求,服务器返回然后就结束了。而Chunk不会,是会一直等待服务器多次发送数据,发送数据完成后才会结束。

怎么判断一个Http是不是Chunk呢?

通过Header中的Transfer-Encoding = Chunked

怎么判断是否传输结束呢?

每个Http中的body中分为 length 和 chunked data 。length 就是传输的数据长度,chunked data就是实际的传输数据。二者通过换行符分隔。

当收到length = 0的http时,就说明传输完成了。

相关文章