出处:Android中的HTTP通信
等级:初级
参考:HTTP权威指南
一、HTTP基础
1. 名词解释
Http协议(超文本传输协议),定义了客户端向服务器请求协议,例如:请求文本,图片,音频,视频等,服务器端传送给客户端。
2. 工作流程
客户端与服务器端建立连接(通过TCP三次握手建立连接)
客户端向服务器发送HTTP请求
服务器作出应答,表示对于客户端请求的应答
客户端接收服务端所返回的信息(通过TCP四次挥手断开连接)
-
TCP三次握手
客户端发送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