浏览器缓存机制


当我们浏览一个页面时发现有异常的情况下,通常考虑的就是浏览器是不是做了缓存,所以一般的做法就是按Ctrl+F5组合键重新请求一次这个页面,重新请求的页面肯定是最新的页面。因此按Ctrl+F5组合键刷新页面,浏览器会直接向目标URL发送请求,而不会使用浏览器缓存的数据。


为了保证用户能够看到最新的数据,必须通过HTTP来控制。当使用Ctrl+F5组合键刷新页面时,会在HTTP的请求头中增加一些请求头,它告诉服务器我们要获取最新的数据而不是缓存。在请求头中增加了两个请求项Pragma:no-cache和Cache-Control:no-cache。


  • Cache-Control/Pragma
该字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令,如果知道该页面是否为缓存,不仅可以控制浏览器,还可以控制和HTTP相关的缓存或代理服务器。HTTP Head字段有一些可选值,如下表。Cache-Control请求字段的优先级比较高,它和其他一些请求字段(如Expires)同时出现时,它会覆盖其他字段。Pragma字段的作用和Cache-Control有点类似。

  • Expires

该字段指定缓存失效时间,后面跟着一个日期和时间,超过该时间值,缓存的内容将失效,浏览器在发出请求之前会检查该字段,看也没是否过期,如果过期了就重新向服务器发起请求。

  • Last-Modified/Etag

Last-Modified字段一般用于表示一个服务器上的资源的最后修改时间

Etag字段的作用是让服务器给每个页面分配一个唯一的编号,然后通过这个编号来区分当前这个页面是否是最新的

上面的字段,可以通过浏览器插件来查看,Chrome——更多工具——开发者工具——Network(最上栏)






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值