首页 > 解决方案 > Azure CDN - “忽略查询字符串”和“绕过查询字符串缓存”之间的区别

问题描述

尽管文档中提到了以下内容,但我不知道“忽略查询字符串”和“绕过查询字符串的缓存”之间的确切区别。

文档

忽略查询字符串:默认模式。在这种模式下,CDN 存在点 (POP) 节点在第一个请求时将查询字符串从请求者传递到源服务器并缓存资产。从 POP 提供的所有后续对资产的请求都会忽略查询字符串,直到缓存的资产过期。

查询字符串绕过缓存:在这种模式下,带有查询字符串的请求不会缓存在 CDN POP 节点。POP 节点直接从源服务器检索资产,并将其与每个请求一起传递给请求者。

如果我的网址是:mydomain.com/articles?page=3。这是否意味着在这两种情况下页面查询字符串都被简单地忽略了。在这种情况下会有什么不同?

标签: azureazure-cdn

解决方案


忽略查询字符串

第一个请求被转发到源服务器并缓存响应。无论查询字符串如何,都从缓存中提供以下请求。

Request1:
Browser (mydomain.com/articles?page=3) -> Azure CDN -> Server (mydomain.com/articles?page=3)

Request2:
Browser (mydomain.com/articles?page=42) -> Azure CDN (from cached whatever the query string)

Request3:
Browser (mydomain.com/otherpage?page=3) -> Azure CDN -> Server (mydomain.com/otherpage?page=3)

绕过查询字符串的缓存

Azure CDN 不缓存具有查询字符串的请求

Request1:
Browser (mydomain.com/articles?page=3) -> Azure CDN -> Server (mydomain.com/articles?page=3)

Request2:
Browser (mydomain.com/articles?page=3) -> Azure CDN -> Server (mydomain.com/articles?page=3)

缓存每个唯一的 URL

Request1:
Browser (mydomain.com/articles?page=3) -> Azure CDN -> Server (mydomain.com/articles?page=3)

Request2:
Browser (mydomain.com/articles?page=3) -> Azure CDN (from cache)

Request3:
Browser (mydomain.com/articles?page=42) -> Azure CDN -> Server (mydomain.com/articles?page=42)

推荐阅读