使用gitee部署静态网站缓存问题及解决办法

1-使用gitee部署网站重大缺陷

在第一次加载网站后,浏览器会将除 html 外所有文件都缓存起来
平常来说,这是好事
但是在需要频繁修改的网站时,这反而是一个重大缺陷
原因在于使用了 git 重新提交修改后的文件,协商缓存ETag和Last-Modified虽然会改变,但是服务器同时给资源都添加上了强缓存Expires和Cache-Control(一天的时间),且强缓存优先级大于协商缓存
这就导致网页更新不了,需要强制刷新或删除缓存,重新加载文件
使得每一次改文件提交都是折磨!!!!

2-解决方法总结

2.1 不使用缓存功能(得看浏览器给不给机会了,有些浏览器就是强制缓存)

添加meta标签,给请求头添加不缓存标志

  <!-- 不缓存 -->
  <!-- http 1.0 -->
  <meta http-equiv="pragma" content="no-cache" />
  <!-- http 1.1 -->
  <meta http-equiv="content-type" content="no-cache, must-revalidate" />
  <!-- http 1.0 -->
  <meta http-equiv="expires" content="Wed, 26 Feb 1997 08:21:57 GMT" />

2.2 给引入的文件添加上版本号(最适宜)

<link rel="stylesheet" href="./css/common100001.css">
/* 下次改动时 */
/* 下次改动时,修改这个标签和文件名,自然就重新加载了 */
<link rel="stylesheet" href="./css/common100002.css">

2.3 针对 js ,使用添加时间戳的方式

创建script标签
获取当前时间戳 new date().getTime()
将其添加到 src=‘…/js?’ + new date().getTime() + …
这样每次发送的请求是不一样的,自然不会缓存了

编辑 | sishen
来源 | 前端兔
公众号 | 前端兔

关注公众号查看更多前端知识分享~~

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值