网站制作如何保证HTML页面后退不会被缓存

微信的登录,扫二维码码之后,可以通过微信给的code去获取用户的微信信息,显示出对应的帐号列表(列表页),选择登录之后跳转至相应的页面。

测试的时候发现,如果在跳转后的页面,点击浏览器返回,还是会显示登录帐号列表。这时候登录是会失败的,因为已经登录过,没有了半登录态,应该需要重新扫码登录才行。

所以列表页是完全不能被缓存的,而浏览器的前进后退,默认会从缓存里读取,完全不发请求。

打开Chrome的开发者工具调试的时候发现,如果勾选Network的Disable cache,浏览器后退的时候,结果页不会被缓存。如果不勾选则缓存页面。用户是不会主动开启这个选项的,所以需要通过Headers控制页面的缓存。

Request

勾选与不勾选Disable cache的差别在于

Request Headers的Cache是否会被设置为Cache-Control: no-cache、Pragma: no-cache

Response

有设置Cache为Cache-Control: no-cache, must-revalidate。但是为什么页面还是会缓存了呢?

而Request为浏览器发送,不能进行设置,只能从Response着手。

解决方案为设置Cache为Cache-Control: no-store, no-cache, must-revalidate

no-cache与no-store

“no-cache”表示必须先与服务器确认返回的响应是否发生了变化,然后才能使用该响应来满足后续对同一网址的请求。因此,如果存在合适的验证令牌 (ETag),no-cache 会发起往返通信来验证缓存的响应,但如果资源未发生变化,则可避免下载。

相比之下,“no-store”则要简单得多。它直接禁止浏览器以及所有中间缓存存储任何版本的返回响应,例如,包含个人隐私数据或银行业务数据的响应。每次用户请求该资产时,都会向服务器发送请求,并下载完整的响应。

再次观察页面的请求,发现虽然设置了no-cache,但是没有设置ETag可以进行校验,最终还是从缓存里读取。

关于HTTP,还是需要不断的学习,才能深入理解并使用。
关于我们

方与圆网络专业提供深圳网站建设、网站设计、网站制作、 做响应式网站。服务客户有:碧桂园、华南城、安吉尔、天威视讯、乾龙物流集团、君豪集团、君胜集团、汉弘集团、蓝盾集团、卫力集团等众多集团、上市公司。知你所想,懂你所需! 倾注心血于每一个作品,只为创造更具品牌影响力的网站!

联系我们
QQ:2912301530
E-MAIL:info@fyywl.com
咨询热线:0755-2105 3063 189 2650 3767(微同)
地址:深圳市宝安区欢乐港湾12号海府生态大厦A栋
友情链接 深圳网站制作 必肯标识 远景国际(支持IPV6) 深信评估集团 慧投(国家高新技术企业) 欧瑞博科技股份 小程序文档 名律网 思瑞测量(海克斯康集团)

速度、品味、量身定做..方与圆网络专注于企业网站建设、品牌网站设计、响应式网站建设、旅游网站制作、外贸网站、教育培训门户、微信小程序定制开发和其他类型网站定制等。

业务范围包括深圳福田区、罗湖区、南山区、盐田区、龙岗区、龙华新区、宝安区、坪山新区以及全国各地接受异地服务商的公司企业或者机构。

深圳市方与圆网络科技有限公司,版权所有,禁止复制,侵权必究 © 2013-2031,粤ICP备14006986号

微信扫一扫 专业客服为您解答
复制微信 拨打电话

0755-2105 3063

Top

我们所做的,正是你所需要的!

请直接添加技术总监微信联系咨询
QQ在线咨询 暂不需要

0755-2105 3063

微信fangyuyuanwl已复制成功
现可前往微信添加好友!

关闭