关于网络
1.你对 http 协议chunk 协议如何断点续传分片上传 ssl 握手?
http://blog.csdn.net/xifeijian/article/details/42921827
分块传输编码, 是 http 的一种数据格式, 允许 http 由应用服务器发送给客户端应用的数据可以分为多个部分, 分块传输编码只在 http1.1中提供
通常, http 应答消息中发送的数据是整个发送的, Content-Length 消息头字段表示数据的长度, 数据的长度很重要, 因为客户端需要知道哪里是应答消息的结束以及后续应答消息的开始, 然而, 使用分块传输编码, 数据分解成一系列数据块, 并以一个或多个块发送, 这样服务器可以发送数据而不需要预先知道发送内容的总大小, 通常数据块的大小是一致的, 但不总是这样的情况
http1.1引入分块传输编码提供了以下几点好处
1.http分块传输编码允许服务器为动态生成的内容维持连接, 通常,
持久连接需要服务器在开始发送消息体前发送Content-Length消息头字段, 但是对于生成的内容来说, 在内容创建完之前不可知的
2.分块传输编码允许服务器在最后发送消息头字段, 对于那些字段值在内容被生成之前无法知道的情形非常重要, 没有分块传输编码时,服务器必须缓冲内容直到完成后计算头字段的值并在发送内容前发送这些头字段的值.
3.http 服务器有时使用压缩以缩短传输花费的时间, 分块传输编码可以用来分隔压缩对象的多个部分, 在这种情况下, 块不是分别压缩的, 而是整个负载进行压缩, 压缩的输出使用文本描述的方案进行分块传输, 在压缩的情形中, 分块编码有利于一边压缩一边发送数据, 而不是先完成压缩过程以得知压缩后数据的大小,
一般情况下, http 的 Header 包含 Content-Length 域来指明报文的长度, 有时候服务器生成 http 回应是无法确定消息大小的, 比如大文件的下载, 或者后台需要复杂的逻辑才能全部处理页面的请求,这时需要实时生成消息长度, 服务器一般使用分段传输编码,
网友评论