Avi*_*ash 31 php etag apache2 last-modified mod-expires
我在Apache上运行PHP,并对如何实现服务器端缓存感到困惑,以便加快网站加载速度.
是什么之间的区别Expires,Last-Modified以及ETag头,哪一个应该在什么情况下使用?
hie*_*t88 39
Expires并且Cache-Control是"强大的缓存标题"
Last-Modified并且ETag是"弱缓存标题"
首先,浏览器检查Expires/Cache-Control以确定是否向服务器发出请求.
如果必须发出请求,它将发送Last-Modified/ETagHTTP请求.如果Etag文档的值与之匹配,则服务器将发送304代码而不是200,而不是内容.浏览器将从其缓存中加载内容.
我建议使用一个强大的缓存标头,以及一个弱缓存标头.
mar*_*rio 24
您可以Expires结合使用标题,但不管其他两个.代理和浏览器缓存普遍支持它.
ETag和Last-Modified邮票之间的区别更具语义性.ETag对客户来说是不透明的.它通常是校验和.客户端可以解释Last-Modified标头.据了解,上次修改的时间戳是线性的.
如果浏览器请求资源If-Unmodified-Since,那么过去的各种时间戳都可以匹配这样的条件.如果您的页面频繁更改,则Last-Modified时间戳可能更有利.
另一方面,ETag方法导致客户端为每个资源保存最后一个指纹.(我不确定浏览器缓存是否记得多个ETag).根据请求,仅If-None-Match列出一个或几个可能的令牌.这可能意味着更多的失误.此外,您必须比较多个校验和,而使用Last-Modified时间戳,您可以进行算术比较.
ETags的真正优势在于您可以可靠地比较指纹.Last-Modified时间戳更模糊,因为它们不验证实际页面内容是否已更改.
也可以看看:
| 归档时间: |
|
| 查看次数: |
23158 次 |
| 最近记录: |