现在我们已经介绍了如何在缓存中使用标头,让我们来看看 cookie 在这个过程中扮演的角色。Cookie 是 HTTP 响应标头。即:Set-Cookie 标头。向用户发送 cookie 的主要目的是识别用户。因此,每个唯一访问者都需要一个唯一的 cookie。

在缓存的上下文中,如果我们将响应的副本与 cookie 一起保存,那么所有用户将从缓存中接收到相同的 cookie,并将参与相同的用户会话。我们不需要它。

还有点对于每个用户可以发布唯的

不同的内容。最简单的例子是购物车。根据用户的不同,它要么是空的,要么包含一些独特的产品集。而且它也不应该以某种方式对每个人都进行缓存。每个人都应该收到自己独特的篮子。

但除了这些“坏”会话 cookie 之外,还有更好的 cookie。这是一种在运行时通过 Javascript 设置的 cookie。例如,这 墨西哥手机号码列表 就是 Google Analytics 所做的,通过 Javascript 连接。GA 设置 cookie,但这不会影响内容生成,并且不会包含在 Set-Cookie 标头中。即使 GA 更改了页面,例如,通过添加诸如“您正在被 Google Analytics 跟踪”之类的内容,它也不会在缓存的代码中执行此操作,而是在浏览器中查看页面时即时执行。

在缓存条件下使用 cookie

电话号码列表

在这里要做的第一件事是准确了解 cz 列表 您的 Web 应用程序(CMS,或您使用的任何东西)如何使用 cookie。它们很少使用吗(仅用于用户注册和登录)?它们是否嵌入在每个服务器响应中?您可以控制它们的安装时间吗?

也就是说,当您生成包含 Set-Cookie 标头的响应时,您必须禁用其缓存。这同样适用于包含唯一用户信息的响应——例如购物车的内容等。这具体看起来如何取决于代理/CDN 在做什么。例如:

如果服务器未设置,它是否会通过 Cache-Control 标头自动设置一些默认缓存时间?
如果响应中存在 Set-Cookie,它是否会删除 Cache-Control 标头?
一旦您了解您的应用程序做什么以及代理做什么 – 在自动化他们的操作方面,您可以设置自己的规则。以下是如何通过 文件完成此操作的示例:
)如果没有使用 COOKIES,则启用缓存。

发表回复

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