图解HTTP学习(二)---HTTP协议
HTTP协议
-
HTTP协议规定,请求从客户端发出,最后服务器端响应该请求并返回(即只能由客户方开始建立通信,服务器端在没有接收到请求之前不会发送响应,也不能主动建立通信)
-
HTTP报文
HTTP报文大致可以分为报文首部和报文主体两块。- 请求报文是由请求方法、请求URI、协议版本、可选的请求首部字段和内容实体构成。
请求行:包含用于请求的方法,请求URI和HTTP版本- 响应报文由协议版本、状态码(表示请求成功或失败的数字代码)、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成。
响应行:包含表明响应结果的状态行,原因短语和HTTP版本
-
HTTP请求方法
- GET:获取资源
- POST:传输实体主体,主要用来传输数据
- PUT:传输文件(由于HTTP/1.1的PUT方法不带验证机制,任何人都可上传文件,存在安全性问题,一般不用)
- DELETE:删除文件(和PUT方法一样,HTTP/1.1的DELETE方法不带验证机制,一般也不用)
- OPTIONS:询问服务器支持的请求方法
-
持久连接
为了解决HTTP初始版本中每进行一次通信就要断开一次TCP连接的问题,在HTTP/1.1中提出了持久连接方法。
旨在建立一次TCP连接后进行多次请求和响应的交互。
特点:只要任意一段没有明确提出断开连接,则保持TCP连接状态
好处:- 减少了TCP连接的重复连接和断开的额外开销
- 减轻了服务器负载
- HTTP请求和响应可以更早的结束
- 提高了web页面显示速度
- 使管线化成为可能:可以同时并行发送多个请求,不要等待前一个请求的完成