博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cache-control 缓存
阅读量:5349 次
发布时间:2019-06-15

本文共 696 字,大约阅读时间需要 2 分钟。

 

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.(不要陷入到底使用谁的问题怪圈)

 优先级参考:

 

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会更合适一些。

 

转载于:https://www.cnblogs.com/mengfangui/p/10171776.html

你可能感兴趣的文章
kettle导数到user_用于left join_20160928
查看>>
较快的maven的settings.xml文件
查看>>
随手练——HDU 5015 矩阵快速幂
查看>>
malloc() & free()
查看>>
Java变量类型,实例变量 与局部变量 静态变量
查看>>
mysql操作命令梳理(4)-中文乱码问题
查看>>
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
关于这次软件以及pda终端的培训
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
新手村之循环!循环!循环!
查看>>
线程安全问题
查看>>
linux的子进程调用exec( )系列函数
查看>>
MySQLdb & pymsql
查看>>
zju 2744 回文字符 hdu 1544
查看>>
【luogu P2298 Mzc和男家丁的游戏】 题解
查看>>
前端笔记-bom
查看>>
上海淮海中路上苹果旗舰店门口欲砸一台IMAC电脑维权
查看>>
Google透露Android Market恶意程序扫描服务
查看>>
给mysql数据库字段值拼接前缀或后缀。 concat()函数
查看>>