关于状态码
http 缓存
http缓存分两种:
- 强缓存(本地缓存)
- 协商缓存
两者最大的区别,是强缓存不发送服务器请求,而协商缓存需要发送服务器缓存。而且,强缓存的优先级和发生的时间比协商缓存高和早。
强缓存
强缓存主要有两个相关的请求头,Cache-Control、expires
- Cache-Control
Cache-Control主要有以下的值
| 值 | 解释 |
|---|---|
| no-cache | 禁用强缓存,但是如有有协商缓存,可以使用协商缓存 |
| no-store | 所有缓存都禁止 |
| max-age |
- expires
解释为过期时间,浏览器会查看这个请求的expires字段,和浏览器本地的时间进行对比,如果已经过了这个过期时间,则向服务器发请求请求新的数据。如果没有,则使用本地缓存
协商缓存
跟协商缓存相关的请求头有last-Modified、Etag。所谓的协商缓存的意思是会向服务器发送一次请求,来判断是否需要取本地缓存。
- last-Modified
服务器最后更改时间。
- Etag
服务器文件的Md5的hash值。
Http2.0和1.0、1.1的区别
http2.0 特性
- 多路复用。
一个http连接可以发送多个请求,同时响应可以同时返回
- 压缩头部
http1.1 特性
- keep-alive
保持一个连接的持久性
- pipeline 管道
一个http连接可以发送多个请求,但是响应只能一个一个接收