这是我参与「第四届青训营」笔记创作活动的的第6天
初识
- HTTP:超文本传输协议
- 应用层协议,基于TCP协议
- 特点:简单可拓展、无状态
协议分析
HTTP
发展:
Method:
特点:
- 安全:不会修改服务器的数据的方法(GET,HEAD,OPTIONS)
- 幂等:同样的请求被执行一次与连续执行多次的效果是一样的,服务器的状态也是一样的,
所有safe的方法都是idempatent的(GET,HEAD,OPTIONS,PUT,DELETE)
缓存流程:
HTTP/2:
- 帧(frame):最小通信单位,每个帧都包含帧头,至少也会标识出当前帧所属的数据流
- 消息:与逻辑请求或响应消息对应的完整的一系列帧
- 数据流:已建立的连接内的双向字节流,可以承载一条或多条消息
特征:更快、更稳定、更简单
- HTTP/2连接都是永久的,而且仅需要每个来源一个连接
- 流控制:阻止发送方向接收方发送大量数据的机制
- 服务器主动推送
HTTPS
对比HTTP是经过TSL/SSL加密的,其中有分为对称加密和非对称加密
- 对称加密:加密和解密都是使用同一个密钥
- 非对称加密:加密和解密需要使用两个不同的密钥:公钥(public key)、私钥(private key)
常见场景
静态资源
- 静态资源方案:缓存——CDN——文件名hash
- CDN:Content Delivery Network
通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务
登录
为什么登录的时候会有OPTIONS请求? 因为跨域了!