• 浏览器缓存机制


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

  • 相关阅读:
    关于ubantu在VMWARE里安装时出现'SMBus Host Controller not enabled'
    临时备忘录
    第七届 山东ACM热身赛 Dwarf Tower
    数学问题题目连接
    蓝桥杯2016决赛 凑平方数
    博弈整理(取物)
    格子刷油漆(DP)
    蓝桥杯第六届总决赛B组
    蓝桥杯第五届决赛B组
    蓝桥杯第四届总决赛
  • 原文地址:https://www.cnblogs.com/charling/p/3337789.html
Copyright © 2020-2023  润新知