Android中的HTTP通信-总结

出处:Android中的HTTP通信
等级:初级
参考:HTTP权威指南

一、HTTP基础

1. 名词解释

Http协议(超文本传输协议),定义了客户端向服务器请求协议,例如:请求文本,图片,音频,视频等,服务器端传送给客户端。

2. 工作流程

  • 客户端与服务器端建立连接(通过TCP三次握手建立连接)

  • 客户端向服务器发送HTTP请求

  • 服务器作出应答,表示对于客户端请求的应答

  • 客户端接收服务端所返回的信息(通过TCP四次挥手断开连接)

  • TCP三次握手


    TCP三次握手.png

客户端发送SYN信息
服务端收到SYN信息,回复ACK信息
客服端收到ACK信息,再次发送ACK信息
服务端收到ACK信息,建立连接

SYN:同步标志
ACK:确认标志

3. URL

URL(统一资源定位符)
组成:scheme(协议) + 域名 + 端口 + 资源
例如:http://www.baidu.com/xxx/xxxx.png

4. HTTP特点

  • 无状态
  • 无连接
  • HTTP协议是基于TCP/IP协议之上的协议。
  • HTTP协议采用"请求 - 应答" 模式

5. HTTP协议结构分析

  • Request Headers

Accept: text/css,/;q=0.1
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: keep-alive
Cookie: __utma=67564055.615584808.1553734067.1553734067.1553734067.1; __utmc=67564055; __utmz=67564055.1553734067.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); loginUserName=assess15%40126.com; token_pass=4580323411c5cb06575fabfe2282b842; loginUserName_wanandroid_com=assess15%40126.com; token_pass_wanandroid_com=4580323411c5cb06575fabfe2282b842; Hm_lvt_90501e13a75bb5eb3d067166e8d2cad8=1552887593,1553736798; JSESSIONID=E47E24048320BAD307A39D7876AA64CB; Hm_lpvt_90501e13a75bb5eb3d067166e8d2cad8=1554273987
DNT: 1
Host: wanandroid.com
If-Modified-Since: Fri, 15 Jun 2018 15:06:40 GMT
Referer: https://wanandroid.com/index
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36

  • Response Headers

Cache-Control: private
Date: Wed, 03 Apr 2019 06:47:39 GMT
Expires: Thu, 01 Jan 1970 08:00:00 CST
Server: Apache-Coyote/1.1

二、Json数据解析

三、封装OkHttp框架

四、经验分享

你可能感兴趣的:(Android中的HTTP通信-总结)