为简化起见,我们将首先查看 ETag 和 Cache-Control 标记。它们都很重要。一些 CDN 仍然使用旧标头(Expires、Pragma 和 Age),但作为回退:如果不使用新标签,则系统使用旧标签。

ETag标头

这是一个非常简单的标签。它指定文档的版本。以任何形式。“101”。或“2017-22-04”。唯一的规则是该值必须用引号引起来 -重新验证 – 检查相关性

现在介绍一下 ETag 标签的实际应用——检查缓存内容的相关性。让我们暂时忘记我们有代理源配置,只讨论客户端服务器配置。

接下来,假设客户端向 发送请求。

服务器响应带有以下标头的内容

日期:2017 年 2 月 5 日星期日 12:34:56 UTC

有两个标签对我们来说很有趣——带有内容的 MD5 散列的 ETag 和带有最后修改日期。

现在让我们看看新鲜度检查是 葡萄牙手机号码列表 如何工作的。当访问者在中断后再次请求 URL 时,他们的浏览器会使用请求中的 If-* 标头之一。比如If-None-Match,通过它检查ETag值。为了响应包含以下内容的标头,浏览器应该收到一条没有任何更改的消息,或者来自服务器的完整响应。

如果 ETag 没有改变,服务器响应:

内容类型文本纯文本字符集UTF-8

电话号码列表

如您所见,服务器响应“304 Not Modified”而不是没有主要内容主体的“200 OK”,提示访问者的浏览器使用缓存的内容。在数据 cz 列表 量很大的情况下,这提供了显着的节省。

作为开发人员,您可能会想,“这不好。现在我还必须在我的应用程序中处理所有这些 if 查询。

不用担心。这就是 CDN 的用武之地。让我们回到最初的客户端<->代理<->源服务器配置。所有这些304请求都由这里的代理处理,依赖于它自己的缓存。下一节将详细介绍这一点,但现在,让我们也谈谈 Last-Modified 标签。

发表回复

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