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增加时间戳,并在一定的时间内改变时间戳  

  • 相关阅读:
    【转】sql server编写通用脚本自动检查两个不同服务器的新旧数据库的表结构差异
    Pytest 2
    【转】python通过SMTP协议发送邮件失败,报错505或535
    【转】环境搭建之allure的安装配置,及简单使用
    Pytest 1
    替换姓名为隐式
    docker 用户组权限
    安装go环境
    Win10配置WSL2安装Ubuntu,并支持Nvidia CUDA 环境
    miniconda源配置
  • 原文地址:https://www.cnblogs.com/charling/p/3337789.html
Copyright © 2011-2022 走看看