我环顾四周,但一直没能找出如果我应该使用了ETag 和一个Expires头或一个或另一个.
我要做的是确保我的Flash文件(以及其他图像以及当这些文件发生更改时不仅会更新.
我不想做任何特别的事情,例如更改文件名或在URL的末尾添加一些奇怪的字符以使其不被缓存.
另外,在我的PHP脚本中,我需要以编程方式执行任何操作以支持此操作,还是所有Apache?
我很难找到一个明确,实用的解释,说明利用浏览器缓存来提高页面速度的正确方法是什么.
根据这个网站:
为所有可缓存资源指定Expires或Cache-Control max-age之一以及Last-Modified或ETag之一非常重要.指定Expires和Cache-Control:max-age或指定Last-Modified和ETag都是多余的.
它是否正确?如果是的话,我应该使用Expires或max-age?我想我大致了解这两者是什么,但不知道哪些通常最好用.
如果我还要做Last-Modified或者ETag哪一个?我想我得到了Last-Modified但这个ETag概念仍然非常模糊.
另外,我应该为哪些文件启用浏览器缓存?
以下三个.htaccess规则之间的区别是什么以及何时使用每个规则,是否有任何特殊用例更喜欢其中一个?:
Header set Cache-Control "max-age=290304000"
Header set Expires "Thu, 15 Apr 2020 20:00:00 GMT"
ExpiresDefault "access plus 10 years"
Run Code Online (Sandbox Code Playgroud) 看看他们用于小部件的脚本:
http://platform.linkedin.com/in.js
您会看到 acache-control的数字非常高(现在:Cache-Control:max-age=29326)。
那么,如果他们搞砸了一个版本,并且每个人都被一个损坏的脚本文件困住了 20 天,会发生什么呢?
ps,这是他们使用的小部件代码:
<script src="//platform.linkedin.com/in.js" type="text/javascript"></script>
<script type="IN/MemberProfile" data-id="https://www.linkedin.com/in/dirkboer" data-format="inline"></script>
Run Code Online (Sandbox Code Playgroud) caching ×2
.htaccess ×1
apache ×1
browser ×1
etag ×1
http ×1
http-caching ×1
http-headers ×1
javascript ×1
linkedin-api ×1