请求:
请求行 : 请求方式 请求路径 版本
请求头 : 以key-value形式组成,K:V
空行
请求体 : 用于数据传递:get方式没有请求体(参数地址传递) post方式有请求体
响应
响应行 :版本 响应码 响应信息
响应头 :以key-value形式组成,K:V
空行
响应体 :响应正文
常用请求头
Host: www.baidu.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Cache-Control: max-age=0
Content-Type: text/html
Content-Length:120
请求方式
Get:请求获取Request-URI所标识的资源
POST:在Request-URI所标识的资源后附加新的数据
HEAD 请求获取由Request-URI所标识的资源的响应信息报头
PUT:请求服务器存储一个资源,并用Request-URI作为其标识
DELETE:请求服务器删除Request-URI所标识的资源
TRACE:请求服务器回送收到的请求信息,主要用于测试或诊断
CONNECT:保留将来使用
OPTIONS:请求查询服务器的性能,或者查询与资源相关的选项
GET方式(以在请求的URL地址后以?的形式带上交给服务器的数据,多个数据之间以&进行分隔,通常传送的数据不超过1kb),
通过请求URI得到资源。一般用于获取/查询资源信息
POST方式(在请求的正文内容中向服务器发送数据,传送的数据无限制),
用于向服务器提交新的内容。一般用于更新资源信息
异步GET请求:4步
-new OkHttpClient;
-构造Request对象;
-通过前两步中的对象构建Call对象;
-通过Call#enqueue(Callback)方法来提交异步请求;
POST方式提交String:5步
这种方式与前面的区别就是在构造Request对象时,需要多构造一个RequestBody对象,用它来携带我们要提交的数据。在构造 RequestBody 需要指定MediaType,用于描述请求/响应 body 的内容类型,关于 MediaType 的更多信息可以查看 https://tools.ietf.org/html/rfc2045,RequstBody的几种构造方式:
TCP:
建立连接
安全可靠协议
以流进行数据传递,无大小限制
三次握手协议
UDP:
不建立连接
不可靠协议
以数据包传递,有大小限制64K