027-8558 3757

网站开发中如何保证HTML页面后退不会被缓存

武汉做网站公司 | 2018-12-09 | 浏览次数:0
微信的登录,扫二维码码之后,可以通过微信给的code去获取用户的微信信息,显示出对应的帐号列表(列表页),选择登录之后跳转至相应的页面。

网站开发中如何保证HTML页面后退不会被缓存

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

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

打开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,还是需要不断的学习,才能深入理解并使用。

TAG标签:网站开发中如何保证HTML页   
添加网站建设客服微信
扫二维码与项目经理沟通

7*24小时为您服务

解答:网站建设,APP开发,SEO优化,小程序开发,H5开发,品牌推广,新闻推广,VI设计等

  非常感谢您有耐心的读完这篇文章:"网站开发中如何保证HTML页面后退不会被缓存",更多内容请继续浏览,我们将为您提供更多参考使用或学习交流的信息。我们还可为您提供:网站建设与开发网站优化品牌推广、APP开发、小程序开发软文推广等服务, 作为2013年成立的互联网公司,耕耘互联网已有8年时长,作为武汉做网站和推广服务的领先企业烽虎网络,专注高端网站建设,拥有丰富的网站建设、网页设计与制作、微信小程序开发、网站改版设计经验,并提供SEO优化推广、网站托管等网络营销服务。详细了解请咨询我们的客服。
文章分类

多一份参考,总有益处

联系烽虎网络,免费获得专属《网站建设方案及报价》,经理直线:18908623010

*我们的专业顾问会在24小时内与你获得联系,请填写正确的联系方式!

X

做网站的二维码

长按识别二维码

微信号:whyjnet

立即咨询
网站建设业务
快速建站
仿站
定制开发
网站改版
网站升级
网站托管
网站维护
外贸出海解决方案
外贸网站建设
外贸独立站
外贸商城开发
多语言网站制作
海外社媒营销
谷歌SEO推广
软件开发业务
公众号开发
小程序开发
大型活动开发
会议系统开发
办公系统开发
按需求定制
网络周边服务
SSL证书
公众号运营
企业邮箱
软文投放
网站中毒处理
产品拍摄
我们乐于倾听与分享!
有任何疑问,请联系我们!
全国统一服务热线
027-8558 3757
扫码免费获取方案
扫码免费获取方案