一、HTTP协议用于客户端和服务端进行通信
发出请求的是客户端,接收请求作出响应的是服务端。
二、请求报文
三、响应报文
四、HTTP使用URI让客户端定位到资源
五、HTTP请求方法
1、GET方法
获取资源。
2、POST方法
传输实体主体。
get方法也可以用于传输实体主体,但一般不用get方法进行传输。get与post类似,但post主要目的不是获取响应的主体内容。
3、PUT方法
传输文件。该方法本身没有验证机制,任何人都可以上传文件,有安全性问题,一般不用。
4、HEAD方法
获得报文首部。与get方法相似,但不发挥报文主体内容,用于确认URI的有效性以及资源更新更新的日期时间。
5、DELETE方法
删除文件,与PUT方法相反。不带验证机制。
6、OPTIONS方法
咨询支持的方法,用来查询针对请求URI指定的资源支持的方法
7、TRACE方法
追踪路径。发送请求时添加上MaX-fORWARDS首部字段,设为一个值,每经过一个服务端就将该数字减一,当数值刚好减为0时,就停止继续传输,租后会接收到服务端返回的状态码 200 OK。
可以查询到发送出去的请求时怎么样被加工/修改的。
8、CONNECT方法
要求用隧道协议连接代理。利用隧道协议实现TCP连接。利用SSL(安全套接字)和TLS(传输层安全)协议把通信内容加密
小结:
六、持久连接
HTTP keep-alive HTTP connection resuse。只要任意一端没有明确提出断开连接,则保持TCP连接。
HTTP/1.1默认的都是持久连接。建立1次连接之后进行多次请求和响应的交互。
持久连接可以做到同时发送多个请求,而不是一个接一个的等待响应。
七、cookie状态管理
HTTP是无状态的,不对之前的请求和响应的状态进行管理。
1、第一次通信
2、后面的通信
小结: