Http 协议 常用消息头

1.压缩

HTTP采用通用的压缩算法,比如gzip来压缩HTML,Javascript, CSS文件,能大大减少网络吞吐。

请求:通常会有Accept-Encoding:gzip

响应:server端生成原始的body,然后压缩,增加头部Content-Encoding:gzip。见图1-1.


图1-1 cctv.com,gzio压缩与chunked传输 

可通过fiddler看一下压缩前后的大小对比。


图1-2cctv.com,fiddler看原始responde 头部



图1-3cctv.com,fiddler支持对response解压,前后大小对比已标出

2.分块传输

Transfer-Encoding: chunked 表示分块传输。不用此头部,通常用Content-Length来标记报文的大小。

不用分块传输:服务端生成完整的响应,算出来大小,标记出来。

使用分块传输:服务端一边生成响应,一边输出,不需要缓存完整的结果,节省内存。

netty框架支持分块传输,所需语句:ch.pipeline().addLast("chunkedWriter", new ChunkedWriteHandler());

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值