http post 请求数据格式选择
2016-05-17 21:08
239 查看
post请求的时候header里面有Content-Type这个字段。有时候需要设置。
默认是 application/x-www-form-urlencoded。常用的是application/json 。下面简单介绍这两种的区别。
www-form-urlencoded是POST数据默认编码格式,POST过去的key-value会被编码成QueryString,格式如下:
name=test&gender=male&email=iefreer@live.cn
服务器端对接受数据的处理也很简单。
json一般更多用来返回数据而不是在提交数据的时候使用,通常Restful服务都会支持json/xml格式的返回数据。
json对象及其编解码在各个平台(无论服务器、电脑还是手机)都有很好的支持。
那么怎么选择这两种方式呢?这不是一个非错即对的选择,但可以参考如下的实践建议:
如果数据是简单、平面的key-value数值对,那么使用www-form-urlencoded简单实用,不需要额外的编解码;
如果数据是复杂的嵌套关系,有多层数据,那么使用json会简化数据的处理,从而更高效。
还有另外两种常用的是,multipart/form-data 和 text/xml。下次再介绍。
默认是 application/x-www-form-urlencoded。常用的是application/json 。下面简单介绍这两种的区别。
www-form-urlencoded是POST数据默认编码格式,POST过去的key-value会被编码成QueryString,格式如下:
name=test&gender=male&email=iefreer@live.cn
服务器端对接受数据的处理也很简单。
json一般更多用来返回数据而不是在提交数据的时候使用,通常Restful服务都会支持json/xml格式的返回数据。
json对象及其编解码在各个平台(无论服务器、电脑还是手机)都有很好的支持。
那么怎么选择这两种方式呢?这不是一个非错即对的选择,但可以参考如下的实践建议:
如果数据是简单、平面的key-value数值对,那么使用www-form-urlencoded简单实用,不需要额外的编解码;
如果数据是复杂的嵌套关系,有多层数据,那么使用json会简化数据的处理,从而更高效。
还有另外两种常用的是,multipart/form-data 和 text/xml。下次再介绍。
相关文章推荐
- AndroidStudio自定义属性xmlns无法识别问题解决in Gradle projects,always use http://schemas.android.com/apk/res-auto
- 网络流二十四题之十一 —— 航空路线问题(AIRL)
- 运输层的TCP协议
- BZOJ1001 狼抓兔子(裸网络流)
- Tcpdump抓取 Android 网络包
- TCP的连接建立与连接释放
- 网络 协议与分层结构 的学习心得
- Socket编程------模拟QQ聊天(TCP)
- 网络编程之FIFO
- https 常见问题一 PKIX path building failed
- TCP协议的建立与释放及TCP的有限状态基
- 关于Android6.0API,找不到org.apache.http.Header问题记录。
- Okhttp session持久化
- Android HttpConnection获取图片太大 处理办法 防止OOM
- UNIX网络编程之管道
- httpclient 访问https
- Okhttp session持久化
- HttpClient 教程 (一)
- 自己动手从网络加载,缓存,压缩图片
- Android 网络请求框架android-async-http简单使用