吐槽
学了一天的Rxjava了,现在换下脑子,学点网络方面的东西。
HTTP协议的相关知识
一 作用
用于客户端和服务端的通信
注意点:
- 请求访问文本或者图像的一端叫客户端,提供资源的一端叫服务器端
- HTTP协议可以区分那个是客户端,那个是服务器端
二 方式
通过请求和响应的交换达成通信
- 请求必须是由客户端发出,而服务器端回复响应
- 请求报文和响应报文不一样
请求报文 = 请求方法+请求URL+请求实体的内容+版本协议号+可选的请求首部字段
相对应的是
响应报文 = 协议版本+状态码+可选的相应的首部字节+实体主体
三 特点
HTTP是不保存状态的协议
- HTTP是一种无状态的协议,自身不对请求和响应之间的通信状态进行保存,没有持久化处理
- 使用HTTP协议,每当有新的请求的时候,就会产生新的响应的产生
- 协议不保存之前的请求或者报文信息,这个是为了更快的处理大量的事务
- 虽然是无状态协议,但是引用了Cookie
四 请求URI定位资源
- HTTP协议使用URI定位互联网上的资源
- 当客户端请求访问资源时候发请求时候,URI需要将请求报文中的请求URI包含在内
1
告知服务器意图的HTTP方法
GET方法
作用:用来请求访问已经被URI识别的资源,指定的资源经过服务器端解析后返回的响应内容
POST方法
作用:传输实体的主体
把信息发给客户端
PUT方法
作用:传输文件。在传输主体上包含文件内容,然后保存到请求的URI指定的位置
//但是这个不安全
HEAD方法
作用:和GET方法一样,只是不返回报文主体部分,用于确认URI的有效性,资源跟新的时间
DELETE方法
作用:按照请求URI删除指定的资源
//一般也不会使用
OPTIONS方法
作用:查询针对请求URI指定的资源支持的方法
TRACE方法
作用:让Web服务器端将之前的请求通信环回给客户端的方法
//好像不咋用
CONNECT
作用:在和代理服务器建立隧道,实现用隧道协议进行的TCP通信
总结
剩下的,明天继续学,今天继续Rxjava学习