首先,请注意 Cache-Control 对三种指令进行操作:可缓存性、缓存过期和版本控制。

第一个 – 可缓存性 – 准确指示数据副本应存储在何处。

私人的。意味着数据应该存储在本地缓存中。在你的笔记本电脑中
民众。意味着数据应该存储在共享缓存中——在 CDN 中。但它们也可以保存在本地。
没有缓存。一个有趣的指令——其实就是说数据应该被缓存,但是各级缓存在每次使用前都应该检查数据的有效性
没有商店。意味着不应缓存数据。

下一类指令是数据保留管理

最大年龄=<秒数>。指定缓存的生命周期。缓存应保留数据副本的秒数。影响本地和共享缓存。
s-maxage=<秒数>。覆盖共享缓存的 max-age 值。不影响本地缓存。
最后但同样重要的是,数据验证管理。

不可变的。指定文档不会被修改。绝不。它应该保持到宇宙热寂的那一刻。
必须重新验证。指示浏览器应检查此 德国手机号码清单 请求缓存的有效性,即使它刚刚更新。
代理重新验证。指示对于此请求,代理必须通过检查源服务器来检查其缓存的有效性。
现在,以下是俄语翻译中上述指令的解读方式:

将此数据缓存在用户计算机和 CDN 中 1 小时

电话号码列表
仅在本地缓存 – 在用户的计算机上,不要在 CDN 中缓存。保存一次,不再更新。
您可能会也可能不会缓存。每次将实 cz 列表 际数据存储在缓存中时,只需检查一下。
在用户电脑缓存一个小时,在CDN缓存两个小时
在用户电脑和CDN缓存一个小时,但是在每次有请求进来的时候在CDN上,即使是在这个小时内,你也需要和服务器核对数据是否是最新的。
例子

下面是一个示例,说明如何使用文件注入 ETag 和 Cache-Control 标头。这是针对 Apache 的,但如果您有不同的服务器,则很容易理解。

为所有图像设置 ETag 和缓存一天

资产设置 ETag 和缓存两个小时,但确保重新生效

标头集 Cache-Control“max-age=7200 public must-revalidate”

标头未设置上次修改时间

例如,对文件 请求的响应应包含一个 ETag 标头,指示文件上次修改的时间、文件大小,以及一个 Cache-Control 标头,指示缓存此文件的生命周期 – 1 天。

日期:2017 年 2 月 7 日星期二 15:01:20 GMT

对 请求的响应还必须包含一个 ETag 标头,指示文件上次修改的时间及其大小,一个 Cache-Control 标头,指示存储时间缓存中的此文件 – 2 小时。此外,Last-Modified 应从标头中排除,这意味着将仅根据 ETag 字段检查版本。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注