第2章-简单的HTTP协议
对 HTTP 协议结构进行讲解。
请求访问文本或图像等资源的一端称为客户端,而提供资源响应的一端称为服务端。
请求报文由 请求方法、请求 URI、协议版本、可选的请求首部字段(headers)和内容实体(body)构成的。
图:
响应报文基本上由 协议版本、状态吗、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成。
图:
无状态 ,不保存之前发送过的请求或响应的功能。
更快处理大量事务,确保协议的可伸缩性,简单。
可以减少服务器的 CPU以及内存消耗。
方法名 | 作用 |
---|---|
GET | 获取资源 |
POST | 传输实体主体 |
PUT | 传输文件 |
HEAD | 获得报文首部 |
DELETE | 删除文件 |
OPTIONS | 询问支持的方法 |
TRACE | 追踪路径 |
CONNECT | 要求用隧道协议连接代理 |
POST 与 GET 相似,但POST 的主要目的并不是获取响应的主体内容。
由于 HTTP 最开始每次通信都需要重新链接/断开TCP,效率低,通信开销大,速度低。
减少 了 TCP 连接/断开的开销,减轻服务器负载,提升速度。
以前发送请求后需要等待并收到响应,才能发送下一个请求。
管线化技术可以使得不需等待就能发送下一个请求,这样就能做到并发发送多个请求了。
NOTE:管线化比持久连接还要快!
HTTP 本身是无状态的,但是遇到一些功能,比如登录,那么保存登录状态就不需要每次都重新登录就显得格外重要。
所以引入了 Cookie 技术。
服务端发送响应,带Set-Cookie
的首部字段信息,客户端再次发送请求的时候在首部字段Cookie
写入,传递给服务端。