zoukankan      html  css  js  c++  java
  • 浏览器缓存机制

    1、右键刷新、F5、ctrl+F5、直接在地址栏按enter操作发送请求、点击页面内的按钮和window.open的区别

      直接在地址栏按enter操作发送请求、点击页面内的按钮和window.open:

        无缓存、发送请求并返回数据

        有缓存但已过期,发送请求,并同时发送Last-Modifed、Etag等校验信息,如果无改动则返回304,有改动返回200

        有缓存且没过期,不发送请求,直接使用缓存

      F5、右键刷新:

        无缓存、发送请求并返回数据

        有缓存,不管有没有过期,都会发送请求并携带Last-Modifed、Etag等校验信息,如果无改动返回304,有改动返回200

      ctrl+F5:

        忽略缓存,直接发送请求并忽略是否修改,返回200

    2、缓存机制

      通过Expires设置过期时间为http1.0使用,现在默认为http1.1,基本不用,

      http1.1通过Cache-Control的max-age来控制过期时间,

      通过Last-Modifed、Etag与服务器中被请求文件的最近修改时间进行比对,如果发现最后修改时间教新则返回200和文件,否则返回304状态

    3、

    4、jQuery发送ajax请求时对缓存的设置

      cache 默认为true,即缓存数据。设置为 false则每次都重新发送请求并重新获取数据。

      ifModified设置为 true,则发送请求进行比对,如果没有修改则返回304。

      为url增加时间戳,并在一定的时间内改变时间戳  

  • 相关阅读:
    oracle多表关联删除的两种方法
    T100——汇总错误消息显示
    T100——程序从标准签出客制后注意r.c和r.l
    本地DataGrip连接阿里云MySQL
    mysql for mac 上的安装及用DataGrip连接
    mac 上安装vue模版-D2 Admin
    Python 3.7版本关于json.dump失效
    设置第三方的SMTP服务
    Apache 配置代理服务
    PyCharm 通过Github和Git上管理代码
  • 原文地址:https://www.cnblogs.com/charling/p/3337789.html
Copyright © 2011-2022 走看看