有一个需求需要保持页面是最新的,即每次访问页面,无论是跳转还是后退都需要保证页面需要是最新的状态,遇到的一些问题及思考
- 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">
很明确的是,这段代码 毫无有用处,不知道是哪一代远古时期的处理方案,针对现代浏览器丝毫不起任何作用
-
链接增加时间戳
类似的就是 http://xxx.com?t=12334543,跟上一个随机数,针对每次新的请求是有效的 -
服务器端通过控制请求头来处理
类似的代码 ,以下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方案可以达到目的。
关于相关的讨论 链接