简单的HTTP
HTTP协议用于客户端和服务器端的通信,通过请求和响应的的交换达成通信
HTTP请求报文
//只是随便举个例子
//方法/URI/协议版本
GET /index.html HTTP/1.1
//请求首部
Host: apple.com
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 16
//内容实体
name=xxx&age=18
请求结果
HTTP/1.1 200 OK
Data: Monday, 8 July 2019 23:13:52 GMT
Content-Length: 520
Content-Type: text/html
<html>
...
HTTP是不保存状态的协议
为了实现保持状态的功能,引入了Cookie技术。
HTTP方法
GET:获取资源
POST:传输实体主体
PUT:传输文件
HEAD:获得报文首部,用于确认URI的有效性以及资源更新的日期等。
DELETE:删除文件
OPTONS:询问支持的方法
TRACE:追踪路径
CONNECT:要求用隧道协议连接代理
持久连接
旨在建立一次连接后可以进行多次请求和相应,减少了TCP连接的重复建立和断开所造成的额外开销,减轻了服务端的负载,使得HTTP请求和相应可以更早的结束,提升了页面的显示速度。
管线化
同时并行发送多个请求,而不是等待一个相应结束后在发送另一个相应。
Cookie
Cookie技术通过在请求和相应的报文中写入Cookie信息来控制客户端的状态,客户端会根据服务器端发送的响应报文中Set-Cookie字段,来决定是否保存Cookie。下次客户端在向该服务器发送请求时,会在请求报文中加入Cookie。这样服务器就可以根据Cookie信息来判断客户端请求的相关信息。