浏览器缓存机制

1. mac 笔记本  chrome浏览器缓存

  • shift + command + g  然后

 

/用户/zhy/资源库/Caches/Google/Chrome/Default/Cache

  • 清除chrome缓存

  1. shift + command + del 

  2. ctrl + F5 强刷当前页

2. 客户端缓存

内存缓存:窗口关闭就消失了,如果你开一个新的窗口,然后先打开控制台,再重新输入刚才的网址就会发现里面都是从硬盘中读取的了

硬盘缓存:不清就存在,也就是mac位置中的caches文件

 

问题: 为什么会存在两个校验的字段 ? 

解答 

  1.   Last-Modified只能精确到妙级,如果文件在1秒内修改多次,Last-Modified就不能精确的标记文件被修改的时间了
  2. 如果某些文件会被定期生成,但是内容没有改变,但是Last-Modified却改变了,导致没有办法使用缓存。
  3. Etag是服务器自动生成的或者由开发者生成的对应资源在服务器上的唯一标识符,能够更加准确的控制缓存。
  4. Last-Modified和Etag可以一起使用,浏览器会优先校验Etag,一致的情况下才会去校验Last-Modified。
  5. 集群的情况?下使用Last-Modified更好。

3.哪些请求不能被缓存?

  • HTTP头信息中包含这些
  1. cache-Control :no-store
  2. cache-Control : max-age=0
  3. 经常说的no-cache不算,他可以缓存,只不过是要校验是否过期
  • POST 请求无法缓存
  • HTTP响应头不包含Etag / Last-Modified, 并且请求头中也不包含Cache-Control/Expires。

注意 :

  •  Etag / Last-Modified 是浏览器给服务器的用于判断是否过期的
  • Cache-Control/Expires  是服务器给浏览器判断是否要缓存资源副本的

4.浏览器默认缓存时,开发环境下,服务器资源更新了,但是页面看不到效果,如何解决?

  1. Ctrl + F5
  2. Command + shift + N 进入无痕模式
  3. 勾上

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值