Http/1.1研读

以下是:官方文档、以及翻译版。
转载自 http://www.cnblogs.com/cxd4321/p/3504632.html
官网 http/1.1 : https://www.w3.org/Protocols/rfc2616/rfc2616.html
ITTF : https://www.ietf.org
最近在做项目的时候,写到下载文件的时候,文件下载正常。但是,需要根据下载的bytes来显示下载的进度。但是,通过Connection对象的getContentLength方法返回值一直是(-1),纠结了好长一段时间,期间试过各种方法,都是不行。
最后,没办法了,既然用的是http方式下载文件,就从http上面查找一下试一试。之前,对于http协议部分,只能说是了解,想到以后可能会碰到http相关的其他问题,于是下决心研读一下整个http/1.1协议[官方正式版],才找到问题所在。http/1.默认不再利用Content-Length头阈值来标示文件的长度,而是利用chunk传输方式来传输数据,Content-Length默认为(-1),这就是之前获取长度一直为(-1)的原因,虽然http/1.1(官方默认不建议使用Content-Length),但是,我们可以在服务器端,setContentLength来重新设置传输文件的大小,这样就可以解决前面遇到的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值