博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
avhttp终于支持了gzip/chunked
阅读量:6707 次
发布时间:2019-06-25

本文共 934 字,大约阅读时间需要 3 分钟。

hot3.png

Chunked 也叫分块传输编码, 是http 1.1中的内容, 其好处有以下:

  1. HTTP分块传输编码允许服务器为动态生成的内容维持HTTP持久链接。通常,持久链接需要服务器在开始发送消息体前发送Content-Length消息头字段,但是对于动态生成的内容来说,在内容创建完之前是不可知的。
  2. 分块传输编码允许服务器在最后发送消息头字段。对于那些头字段值在内容被生成之前无法知道的情形非常重要,例如消息的内容要使用散列进行签名,散列的结果通过HTTP消息头字段进行传输。没有分块传输编码时,服务器必须缓冲内容直到完成后计算头字段的值并在发送内容前发送这些头字段的值。
  3. HTTP服务器有时使用压缩 (gzip或deflate)以缩短传输花费的时间。分块传输编码可以用来分隔压缩对象的多个部分。在这种情况下,块不是分别压缩的,而是整个负载进行压缩,压缩的输出使用本文描述的方案进行分块传输。在压缩的情形中,分块编码有利于一边进行压缩一边发送数据,而不是先完成压缩过程以得知压缩后数据的大小。

格式:

如果一个HTTP消息(请求消息或应答消息)的Tr
ansfer-Encoding消息头的值为chunked,那么,消息体由数量未定的块组成,并以最后一个大小为0的块为结束。
每一个非空的块都以该块包含数据的字节数(字节数以十六进制表示)字符串开始,跟随一个CRLF (回车及换行),然后是数据本身,最后块CRLF结束。在一些实现中,块大小和CRLF之间填充有白空格,这是很值得需要考虑的问题(0x20)。
最后一块是单行,由块大小(0),一些可选的填充白空格,以及CRLF。最后一块不再包含任何数据,但是可以发送可选的尾部,包括消息头字段。
消息最后以CRLF结尾。

一直都想把avhttp中的这个支持好, 因为没时间弄, so, 一直没弄, 今天我终于就把它写好了.

备注: avhttp 是一个支持并发, 支持异步/同步, 支持http/https, 支持chunked/gzip, 支持socks4/socks5代理, 支持续传的 HTTP 客户端开发工具库, 而不是框架!

转载于:https://my.oschina.net/jackwgm/blog/128313

你可能感兴趣的文章
JAVA AOP编程之:JDK Proxy
查看>>
CentOS6.4安装Oracle 11g R2
查看>>
ES6笔记
查看>>
eNSP练习telnet
查看>>
blog重新开张了
查看>>
我的友情链接
查看>>
第二讲---springboot中shiro+cas+权限配置
查看>>
安卓6.0系统怎么无root激活Xposed框架的方法
查看>>
dota2开箱HexSkins-新的公布概率的特别的dota2开箱网站,特别在哪里?
查看>>
第一家关店的盒马鲜生,大数据眼光看新零售的转型之路
查看>>
Python简介和入门
查看>>
电脑剪切音乐的软件哪个好
查看>>
hibernate1—配置、查询、主键
查看>>
Zabbix 3.4安装
查看>>
从兵法角度看小米的成功 -----读小米黎万强《参与感》后的思考...
查看>>
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction
查看>>
cisco 交换机端口默认配置是可以与trunk口形成trunk的
查看>>
Exchange Server上删除邮件
查看>>
我的友情链接
查看>>
Windows-Exploit-Suggester工具使用体验
查看>>