HTTP协议
- 请求响应
- 简单可扩展
- 无状态
- 超文本传输协议
- 应用层协议 => 基于TCP协议
协议分析发展
-
HTTP/0.9
- 请求 GET/mypage.html
- 响应只有HTML文档
-
HTTP/1.0
- 增加了Header
- 有了状态码
- 支持多种文档类型
-
HTTP/1.1
- 链接复用
- 缓存
- 内容协商
HTTP/2协议:更快、更稳定、更简单
- 帧:HTTP/2通信的最小单位 => 二进制编码
- 消息:与逻辑请求或响应信息对应的完整的一系列帧
- 数据流:已建立的连接内的双向字节流,可以承载一条或多条信息 => 交错发送,接收方重组织
- HTTP/2连接都是永久的,而且仅需每个来源一个连接
- 流控制:阻止发送方向接收方发送大量数据的机制
状态码
cookie 请求状态 => 有cookie并且同域访问时会自动带上
缓存
强缓存
-
Expires,时间戳
-
Cache-control
-
可缓存性
- no-cache:协商缓存验证
- no-store:不使用任何缓存
-
到期
- max-age:单位是秒,存储的最大周期,相对于请求的时间
-
重新验证*重新加载
- must-revalidate:一旦资源过期,在成功向原始服务器验证之前,不能使用
-
协商缓存
- Etag/If-None-Match:资源的特定版本的标识符,类似于指纹
- Last-Modified/If-Modified-Since:最后修改时间
HTTPS:经过TSL/SSL加密
- 对称加密:加密和解密都是使用同一个密钥
- 非对称加密:加密和解密使用两个不同的密钥 => 公钥和私钥