Pages

Sunday, 20 January 2013

Transfer-Encoding: Chunked


  1. 在HTTP/1.1中,如果需要保持连接的话,那么Content-Length是必须要提供的。否则就无法确定此次请求的结束位置。
    但是,如果我们要在动态生成的过程中就想发送数据,是无法预先知道报文的长度的,所以也就不可能使用Content- Length来指明body长度。那为啥要边生成边发送呢?假设生成完整数据需要30秒,如果要生成完再发送的话,那么就浪费了这30秒的美好的传输时间 了。chunked就解决了这个难题,只要服务器允许将body逐块发送,并说明每块的大小就可以了。
    那如何边生成边发送呢?
    我们可以通过将Transfer-Encoding指定为chunked,来进行分块传输。我们就可以将原本一整块需要说明长度的数据分解成了一小块一小块需要说明长度的数据。就可以边生成边发送了.

    参考
    Transfer Codings , Chunked Transfer Coding