前端的缓存有哪些?都适用什么场景?区别是什么?前端
前端缓存分为两部分:web
强缓存主要是采用响应头中的Cache-Control和Expires两个字段进行控制的segmentfault
max-age 指定设置缓存最大的有效时间(单位为s)
public 指定响应会被缓存,而且在多用户间共享
private 响应只做为私有的缓存,不能在用户间共享
no-cache 指定不缓存响应,代表资源不进行缓存
no-store 绝对禁止缓存浏览器
缓存过时时间,用来指定资源到期的时间,是服务器端的具体的时间点, 须要和Last-modified结合使用缓存
服务器端文件的最后修改时间,须要和cache-control共同使用,是检查服务器端资源是否更新的一种方式安全
根据实体内容生成一段hash字符串,标识资源的状态,由服务端产生。浏览器会将这串字符串传回服务器,验证资源是否已经修改服务器
协商缓存是指当强缓存机制若是检测到缓存失效,就须要进行服务器再验证app
Cookie主要用于用户信息的存储, 容量为4KB学习
LocalStorage的数据将一直保存在浏览器内,直到用户清除浏览器缓存数据为止, 容量为5MB代理
SessionStorage的其余属性同LocalStorage, 不一样是的当页面关闭时会随之清除
主要是为了提升web app的用户体验,能够实现离线应用消息推送等等一系列的功能, 能够看作是一个独立于浏览器的Javascript代理脚本, 在离线状态下也能提供基本的功能。 出于安全性的考虑,Service Worker 只能在https协议下使用
JS每日一题能够当作是一个语音答题社区
天天利用碎片时间采用60秒内的语音形式来完成当天的考题
群主在第二天0点推送当天的参考答案
加入JS每日一题