Android网络请求之HttpURLConnection小结(一)

来源:互联网 发布:五羊宝宝洗衣液 知乎 编辑:程序博客网 时间:2024/06/05 06:49

最近一段时间在学习Android网络方面的东西,对网络请求基础做一个总结。一个完整的http请求需要经历两个过程:客户端发送请求到服务器,然后服务器将结果返回给客户端。现在我们这里主要是客户端想服务器请求这一部分进行总结。

Http请求方式

  • GET 请求指定url的数据,请求体为空(例如打开网页)。
  • POST 请求指定url的数据,同时传递参数(在请求体中)。
  • HEAD 类似于get请求,只不过返回的响应体为空,用于获取响应头。
  • PUT 从客户端向服务器传送的数据取代指定的文档的内容。
  • DELETE 请求服务器删除指定的页面。
  • CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
  • OPTIONS 允许客户端查看服务器的性能。
  • TRACE 回显服务器收到的请求,主要用于测试或诊断。

  • 常用只有Post与Get。
    首先,客户端向服务器发送请求主要包含以下信息:请求的Url地址、请求头以及可选的请求体
    客户端发送请求到服务器。其中:请求url地址:https://www.baidu.com/s?ie=utf-8&wd=Android,网址后面可以添加键值对,但是url最大长度不超过2kb,否则服务器无法识别。
    请求头:也是一些键值对,请求头包含了客户端想告诉服务端的一些元数据信息。
    请求体:GET请求不支持请求体,只有POST请求才能设置请求体。请求体中可以放置任意的字节流。

Post与Get的区别

Get方式
在url中填写参数:
http://xxxx.xx.com/xx.php?params1=value1&params2=value2

Post方式
参数是经过编码放在请求体中的。编码包括x-www-form-urlencoded 与 form-data。
x-www-form-urlencoded的编码方式是这样:

  tel=13637829200&password=123456form-data的编码方式是这样:  ----WebKitFormBoundary7MA4YWxkTrZu0gW  Content-Disposition: form-data; name="tel"  13637829200  ----WebKitFormBoundary7MA4YWxkTrZu0gW  Content-Disposition: form-data; name="password"  123456  ----WebKitFormBoundary7MA4YWxkTrZu0gW

url是存在于请求行中的。
所以Get与Post区别本质就是参数是放在请求行中还是放在请求体中
GET:
GET请求可以被缓存。
URL可以追加键值对,但是有长度限制。
可以截获URL,获取其中的键值对,不适合做增删改操作,可以用来作为查询操作。
POST:
POST请求从不会被缓存。
敏感信息可以用该方法。
适合做增删改操作
理论上没有长度限制。
代码部分参考:http://blog.csdn.net/iispring/article/details/51474529

上面只是简单的方法调用,网络请求我们还需要去考虑其他的因素:
- 没有异常处理机制
- 没有缓存机制 (减少请求次数,减小服务器压力,在无网络的情况下提 供数据)
- 缺乏完善的API(请求头,参数,编码,拦截器等)调试模式
- 没有HTTPS(HTTPS相当于HTTP的安全版本,我们为什么需要:认证用户和服务器,确保数据发送到正确的客户机和服务器;(验证证书)
加密数据以防止数据中途被窃取;(加密)
维护数据的完整性,确保数据在传输过程中不被改变。(摘要算法))
HTTPS可参考:http://blog.csdn.net/lmj623565791/article/details/48129405

接下来,具体去分析常用的网络框架:okhttp、volley等。

参考链接

http://www.jianshu.com/p/3141d4e46240’
http://blog.csdn.net/lmj623565791/article/details/48129405
http://blog.csdn.net/iispring/article/details/51474529

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 团购房子不想要怎么办 乐视液晶屏坏了怎么办 wifi盒子插上网线然后怎么办 在泰国手机坏了怎么办 朋友在泰国手机关机怎么办 qq上转账转错了怎么办 扣扣转账转错了怎么办 到付快递签收了怎么办 京东白条消费了怎么办 确认收货点错了怎么办 小米6后盖缝隙大怎么办 苹果6splus电池不耐用怎么办 苹果一朵云加箭头下载不了怎么办 苹果8p信号不好怎么办 苹果8p像素不好怎么办 美版iphonex有锁怎么办 苹果8x突然黑屏怎么办 苹果6s无法激活怎么办 苹果6sp激活出错怎么办 小米4c触屏失灵怎么办 手机谷歌浏览器为什么打不开怎么办 谷歌浏览器打不开网址怎么办 拼多多被限制了怎么办 保时捷11年的前机盖打不开怎么办 唯品会衣服质量有问题怎么办 唯品会买的东西有质量问题怎么办 唯品会上卖到假东西怎么办 个人资金链断了怎么办 腾讯财理通平台倒闭投资者该怎么办 ebay买到假货了怎么办 善心汇会员被限制出行怎么办 苹果手机屏碎了怎么办 三国志2017仓库满了怎么办 至尊宝密保手机被改了怎么办 电脑版qq游戏途中死机怎么办 登陆企业qq服务器超时怎么办 qq登录不上怎么办错误00001 苹果手机白屏进不了界面怎么办 苹果8p手机白屏怎么办 苹果5s无法关机怎么办 三星手机白屏了怎么办