http/https 协议
1.0 协议缺陷: ⽆法复⽤链接,完成即断开,重新慢启动和 TCP 3 次握⼿
head of line blocking : 线头阻塞,导致请求之间互相影响 1.1 改进: ⻓连接(默认 keep-alive ),复⽤
host 字段指定对应的虚拟站点 新增功能: 断点续传 身份认证
状态管理
cache 缓存
Cache-Control
Expires
Last-Modified
Etag
2.0:多路复⽤ ⼆进制分帧层: 应⽤层和传输层之间 ⾸部压缩 服务端推送
https: 较为安全的⽹络传输协议
原因如下:
证书(公钥)
SSL 加密
端⼝ 443
TCP:
三次握⼿
四次挥⼿
滑动窗⼝: 流量控制
拥塞处理
慢开始
拥塞避免
快速重传
快速恢复
缓存策略: 可分为 强缓存 和 协商缓存
Cache-Control/Expires : 浏览器判断缓存是否过期,未过期时,直接使⽤强缓存,
Cache-Control 的 max-age 优先级⾼于 Expires
当缓存已经过期时,使⽤协商缓存 唯⼀标识⽅案: Etag ( response 携带) & If-None-Match ( request 携带,上⼀次 返回的 Etag ): 服务器判断资源是否被修改 最后⼀次修改时间: Last-Modified(response) & If-Modified-Since ( request ,
上⼀次返回的 Last-Modified ) 如果⼀致,则直接返回 304 通知浏览器使⽤缓存 如不⼀致,则服务端返回新的资源
Last-Modified 缺点: 周期性修改,但内容未变时,会导致缓存失效 最⼩粒度只到 s , s 以内的改动⽆法检测到
Etag 的优先级⾼于 Last-Modified