关于禁止浏览器缓存页面的问题

有一个需求需要保持页面是最新的,即每次访问页面,无论是跳转还是后退都需要保证页面需要是最新的状态,遇到的一些问题及思考

  1. html 添加 meta标签处理
<meta http-equiv="pragram" content="no-cache">  
<meta http-equiv="cache-control" content="no-cache, must-revalidate"> 
<meta http-equiv="expires" content="0">
很明确的是,这段代码 毫无有用处,不知道是哪一代远古时期的处理方案,针对现代浏览器丝毫不起任何作用
  1. 链接增加时间戳
    类似的就是 http://xxx.com?t=12334543,跟上一个随机数,针对每次新的请求是有效的

  2. 服务器端通过控制请求头来处理
    类似的代码 ,以下c# 代码 (netcore)

  Response.Headers["Cache-Control"] = "no-cache, no-store, must-revalidate";
  Response.Headers["Pragma"] = "no-cache";
  Response.Headers["Expires"] = "-1";

基本上通过浏览器查看 页面不会从 disk或者memory里获取,每次主动请求算是都会刷新页面到最新。


到此,以上有些可行方案对于 跳转请求是有效的,然而这边关心的是后退也需要刷新。pc大部分浏览可以做到后退也刷新,然而移动端不行。这就比较麻烦,百度,谷歌了很久,最终可靠的结论是,必须要网站是Https协议搭配 第3方案可以达到目的。

关于相关的讨论 链接

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值