zoukankan      html  css  js  c++  java
  • cache-control 缓存

     

    1、服务端设置

    2、

    3、所以一般设置css/js等静态文件加一个md5码。

    4、优先级问题

     

    如果服务器端同时设置了Etag和Expires 时,Etag原理同样,即与Last-Modified/Etag对应的HttpRequest Header:If-Modified-Since和If-None-Match。我们可以看到这两个Header的值和WebServer发出的 Last-Modified,Etag值完全一样;在完全匹配If-Modified-Since和If-None-Match即检查完修改时间和 Etag之后,服务器才能返回304.
     
    如果服务器又设置了Cache-Control:max-age和Expires呢,怎么办?
    答案是同时使用,也就是说在完全匹配If-Modified-Since和If-None-Match即检查完修改时间和Etag之后,服务器才能返回304.(不要陷入到底使用谁的问题怪圈)

     优先级参考:https://blog.csdn.net/21aspnet/article/details/6602933

    5、关于优先级修正

    2019.1.4

    缓存分类:

    (1)强缓存

    expires: 一个绝对时间

    cache-control:相对时间。 cache-control优先级更高!

    (2)协商缓存

    last-modified,if-modified-since

    etag,if-none-match

    etag会更好一些,因为文件可能改变过,但是文件内容没有变化,这是last-modified就会改变,而etag不会改变。因此etag会更合适一些。

     

  • 相关阅读:
    汉语-词语:理解
    汉语-词语:头脑
    SELECT INTO
    SELECT
    scp
    samba
    rpmgraph
    rpmdeps
    rpmcache
    rpmbuild
  • 原文地址:https://www.cnblogs.com/mengfangui/p/10171776.html
Copyright © 2011-2022 走看看