zoukankan      html  css  js  c++  java
  • from disk cache和from memory cache区别

    发现虽然都是缓存中去文件但还是有一些区别的。

    webkit资源的分类:
    webkit的资源分类主要分为两大类:主资源和派生资源。

    http状态码:
    200 from memory cache

    不访问服务器,直接读缓存,从内存中读取缓存。此时的数据时缓存到内存中的,当kill进程后,也就是浏览器关闭以后,数据将不存在。

    但是这种方式只能缓存派生资源。

    200 from disk cache

    不访问服务器,直接读缓存,从磁盘中读取缓存,当kill进程时,数据还是存在。

    这种方式也只能缓存派生资源

    304 Not Modified

    访问服务器,发现数据没有更新,服务器返回此状态码(不返回资源)。然后从缓存中读取数据。

    三级缓存原理:
    先去内存看,如果有,直接加载
    如果内存没有,择取硬盘获取,如果有直接加载
    如果硬盘也没有,那么就进行网络请求
    加载到的资源缓存到硬盘和内存
    所以我们可以来解释这个现象

    图片为例:

    访问-> 200 -> 退出浏览器
    再进来-> 200(from disk cache) -> 刷新 -> 200(from memory cache)

    http header:(与缓存有关的请求头部)
    max-age

    web中的文件被用户访问(请求)后的存活时间,是个相对的值,相对Request_time(请求时间)

    Expires

    Expires指定的时间根据服务器配置可能有两种:(GMT时间)

    文件最后访问时间
    文件绝对修改时间
    如果max-age和Expires同时存在,则被Cache-Control的max-age覆盖

    last-modified

    WEB 服务器认为对象的最后修改时间,比如文件的最后修改时间,动态页面的最后产生时间

    ETag

    对象(比如URL)的标志值,就一个对象而言,文件被修改,Etag也会修改

    Cache-Control

    简单理解,强缓存

    前两者来验证资源新鲜度,后两者来验证资源的有效值。
    ————————————————
    版权声明:本文为CSDN博主「guoxiaxing」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/hahahahahahahaha__1/java/article/details/83213644

  • 相关阅读:
    转载:备份HyperV时需要避免的六大错误
    职场必读blog
    sps 2010 出错记录
    MySQL的一些常用命令
    JS 常用 函数
    批处理 启动/关闭 VMware服务
    SQL Server 复制 发布订阅(SQL Server 数据同步)
    JBoss7 入门指南
    SQLServer 数据库 远程备份
    QuickFix/J
  • 原文地址:https://www.cnblogs.com/rainheader/p/12697566.html
Copyright © 2011-2022 走看看