初识HTTP协议
课程链接: juejin.cn/course/byte…
1 初识
OSI Reference Model
TCP/IP Conceptual Layer
- HTTP Hyper Text Transfer Protocol超文本传输协议
- 应用层协议,基于TCP协议
- 请求 响应
- 简单可扩展
- 无状态
2 协议分析
2.3 发展
2.3.1 HTTP/2概述
更快、更稳定、更简单
- 帧(frame):http/2通信的最小单位,每个
- 消息
- 数据流
- 连接永久
- 流控制
- 服务器推送
2.3.2 HTTPS概述
经过TSL/SSL加密
- 对称加密
- 非对称加密 公钥、私钥
2.4 报文
-
Request & Resoponse
-
Method
GET POST PUT DELETE HEAD CONNECT OPTIONS TRACE PATCHSafe安全的, 不会修改服务器数据的方法 GET\HEAD\OPTIONS
Idempotent幂等, 同样的请求被执行一次与连续执行多次的效果是一样的,服务器状态也是一样的,所有safe都是idempotent GET\HEAD\OPTION\PUT\DELETE
-
状态码 Status Code
200 OK 301:永久重定向 302:临时跳转 401:未经授权 Unauthorized 403: 404:资源不存在 500:不可预期错误 504:Gateway Timeout -
RESTful API
-
常用请求头
Accept 接收类型 Content-Type Cache-Control 指定请求和响应遵循的缓存机制, 如no-cache If-Modified-Since Expires 缓存控制 Max-age 代笔资源在本地缓存多少秒 If-None-Match 对应服务端的ETag Cookie Referer Origin User-Agent -
常用响应头
Content-Type Cache-Control Last-Modefied Expires Max-age ETag Set-Cookie Server Access-Control-Allow-Origin -
缓存
强缓存 A 协商缓存 B -
Cookie
Set-Cookie-response Name=value Expires=Data Path=path Domin=domin secure HttpOnly SameSite=[None|Strict|Lax]