博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Http协议中的Content-Length属性
阅读量:6069 次
发布时间:2019-06-20

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

   Android开发的时候需要与从服务器上获取数据,数据是通过http协议封装的。Android端使用的是Xutils第三方插件来发起http请求,但是每次只能拿到部分数据。通过仔细分析后原来是Content-Length属性的问题。Content-Length属性是用来说明传输的正文大小。下面就仔细描述一个整个过程。

无Content-Length属性

服务器端

服务器端根据请求的文件名来返回相应文件的内容。

浏览器中的响应头

浏览器中响应头中没有Content-Length属性来说明数据的大小。但是有个Transfer-Encoding属性,它的作用是当传输数据的大小不确定时通过chunked(片)的方式进行传输。这种方式可以保证浏览器可以拿到全部的数据。但是在Android中就没有这么幸运。

XUtils插件

使用该插件时无法从服务器上获取完整的数据。服务器上发送的数据是完整的json数据,因为服务器端的日志显示是200代码,但是客户端并没有将所有数据全部拿到。客户端只拿到了部分数据,如下图所示

有Conent-Length属性

转载于:https://www.cnblogs.com/xidongyu/p/5938888.html

你可能感兴趣的文章
检测cpu是否支持虚拟化和二级地址转换【转】
查看>>
首发感言
查看>>
用实例浅谈WCF实例与并发
查看>>
How to use JDBC-Authentication of Spring Boot/Spring Security with Flyway
查看>>
Class loader:static
查看>>
POJ 3261 后缀数组
查看>>
SQL 语言分类
查看>>
CTSC2018 青蕈领主
查看>>
Linux Shell 程序调试
查看>>
[javaSE] 看知乎学习反射
查看>>
Python读取redis数据
查看>>
删除treeview下的节点(包括子节点),不管在第几层
查看>>
SMARTFORM 小技巧
查看>>
一道练习题引发的思考
查看>>
Nancy 返回值详解
查看>>
ASP.NET MVC Form验证
查看>>
通过源码了解ASP.NET MVC 几种Filter的执行过程
查看>>
配置文件——节点<machineKey>的作用,强随机生成
查看>>
net.sf.json.JSONObject的json字符串转对象
查看>>
回溯法
查看>>