1.HTTP缓存的分类
根据是否要重新向服务器发起请求分类,可分为强制缓存和协商缓存;根据是否可以被单个或多个用户来分类,可以分为私有缓存和共享缓存。强制缓存如果生效,不需要再和服务器发生交互,而协商缓存不管是否生效,都需要与服务端发生交互。强缓存的状态码是200,协商缓存的状态码是304
2.为什么要使用http缓存
- 减少冗余的数据传输,节省了网费
- 缓解了服务器的压力,提高了网站性能
- 加快了客户端加载网页的速度
3.http缓存的几个注意点
- 强缓存情况下,只要缓存还没过期,就会直接从缓存中读取数据,就算服务端有数据变化1,也不会从服务端获取数据。解决办法:在修改后的资源加上随机数,确保不会从缓存中读取。
- 尽量减少304请求,因为缓存协商每次都会与服务器进行交互,所以性能上不是很好
4. 浏览器缓存:cookie、sessionStorage、local Storage
- cookie兼容各种浏览器,每次都会和后台进行交互,可设置过期时间
- sessionStorage,h5新特性,不兼容低版本浏览器,本地缓存,不会每次和后台交互。会话关闭,缓存失效。
- localStorage,h5新特性,不兼容低版本浏览器,本地缓存,不会每次和后台交互,本地缓存,除非手动删除,否则一直存在。