这是我参与「第五届青训营」笔记创作活动的第5天。
什么是HTTP
- Hyper Text Transfer Protocol 超文本传输协议
- 应用层协议,基于TCP协议
- 请求+响应
- 简单可扩展
- 无状态
methods
- GET
- POST
- PUT
- DELETE
- HEAD
- CONNECT
- OPTIONS
- TRACE
- PATCH
响应状态码
| 状态码 | 含义 |
|---|---|
| 1xx | 指示信息,表示请求已接受,等待继续处理 |
| 2xx | 成功,表示请求已被成功接收、理解、接受 |
| 3xx | 重定向,要完成请求必须进一步操作 |
| 4xx | 客户端错误,请求有语法错误或请求无法实现 |
| 5xx | 服务端错误,服务器无法成功响应 |
- 200——客户端请求成功
- 301——资源被转移
- 302——临时跳转
- 401——请求未授权
- 404——资源不存在
- 500——服务器报错
- 504——响应超时
缓存
- 强缓存:如果本地已缓存,则优先使用本地缓存
- 协商缓存:无论本地是否缓存,均需要与服务端建立链接进行协商
HTTP/2
特点:将整体数据拆分成若干数据帧,每个数据帧包含其帧头
优点:采用二进制传输,传输效率更高;数据可以乱序传输,最后依据帧头拼接,传输更灵活;连接永久,一对一;流控制,阻止发送方向接收方发送大量数据的机制,节流;服务器推送
HTTPS
- 对称加密:加密和解密都用同一个密钥
- 非对称加密:加密需要使用不同的密钥(公钥+私钥)
场景分析
-
静态资源可以从本地缓存中直接加载
静态资源部署:缓存+CDN+文件名hash(保证访问最新资源)
-
表单登录
options请求,解决跨域问题
-
SSO:单点登录
一个站点登录,所有子站点共享登陆状态
学习小结
网络请求的方式有很多种,有些是开发中常用,有的是发布以后常用,根据实际情况选用具体的方案