福德正神彩票网-娱乐网站

福德正神彩票网

  • <div id="afefe"></div>
    <bdo id="afefe"><sup id="afefe"><div id="afefe"><bdo id="afefe"></bdo></div></sup></bdo>
    1. <cite id="afefe"><table id="afefe"></table><style id="afefe"></style></cite>
        <button id="afefe"></button>

      1. <rp id="afefe"></rp>

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


          您所在的位置:上海做网站 > 福德正神彩票首页 > 行业动态 >  发表时间:2019-02-28 19:42:47 文章作者:上海网站建设公司

          微信的登录,扫二维码码之后,可以通过微信给的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,还是需要不断的学习,才能深入理解并使用。


          标签:


          本文章由上海做网站公司-福德正神彩票原创,如没特殊注明,转载请注明来自:http://m.dehengsheng.cn/dongtai/124484.html


          上一篇:网站建设中的哪些功能会让用户更喜欢?

          下一篇:网站设计前端需要了解的7个关键点

          返回列表
          © 2013-2016 68gainian.com All Rights Reserved沪ICP备14028045号-2

          福德正神彩票网 |福德正神彩票 |福德正神彩票首页 |173.cc | |手机版 | | 银河国际城棋牌|银河官方网|银河娱乐登录|银河国际城app|大发彩票|宝马彩票手机版|