• 浏览器读取缓存流程


    1.浏览器会先去查看响应头部的cache-control(缓存控制)
    2.如果没有到达过期时间,会直接返回缓存中的内容,不需要重新读取服务器
    3.如果cache-control设置为 no-cache,浏览器会去读取expires(缓存过期时间)
    4.如果没有到达expires过期时间,会直接返回缓存中的内容,不需要重新读取服务器
    5.如果cache-control和expires都没有设置
    6.浏览器会去查看服务器上面ETag值,如果有浏览器会拿着 If-None-Match 去跟他对比
    7.如果ETag与浏览器的 If-None-Match 相同,则走缓存
    8.如果ETag与浏览器的 If-None-Match 不相同,浏览器会去查看服务器上面 Last-Modified值
    9.如果服务器上有 Last-Modified值,浏览器会拿着If-Modified-Since去跟他对比
    10.如果Last-Modified值与浏览器的 If-Modified-Since 相同,则走缓存
    11.如果Last-Modified值与浏览器的 If-Modified-Since 不相同,重新去服务器读取数据

    #含义
    1.cache-control:缓存控制,记录的时文件保留时间
    2.expires:缓存时间,记录的是文件的过期时间
    3.ETag:服务器上保留的文件唯一标识符
    4.If-None-Match:浏览器上保留的文件唯一标识符
    5.Last-Modified:服务器上保留的文件最后修改时间
    6.If-Modified-Since:浏览器上保留的文件最后修改时间

  • 相关阅读:
    Postfix邮件服务
    Python
    LVS
    MFS
    Apache
    Zookeeper集群 + Kafka集群 + KafkaOffsetMonitor 监控
    shell 检测安装包
    shell ssh 批量执行
    shell 判断脚本参数
    bzoj 1500 修改区间 splay
  • 原文地址:https://www.cnblogs.com/chenlifan/p/13680519.html
Copyright © 2020-2023  润新知