我们刚刚发布了对HTTP最丑陋部分的支持: Vary

现在,每个套餐的缓存规则都提供不同的支持。您可以规范化已知的协商标头,在这些小差异很重要时将精确值传递到原点,或者在变体过于不可预测时绕过缓存。

现在,每个套餐的缓存规则都提供不同的支持。您可以规范化已知的协商标头,在这些小差异很重要时将精确值传递到原点,或者在变体过于不可预测时绕过缓存。响应标头Vary被称为“HTTP中我们尚未改进的最丑陋的部分。

同一篇文章将其描述为“可怕的,笨拙的机制”,跨中介机构的“互操作性非常糟糕”。这通常是明智的工程师举手慢慢后退的地方。这并不完全是对Vary的认可,但丑陋并不意味着无用。一个网址可以有多个正确答案。例如,服务器可能会向不同的浏览器提供不同的图像格式。

如果缓存忽略Vary,则存在为请求提供错误字节的风险。但是,如果它将每个原始标头值视为不同的,则少数类似的请求可能会扩散到数千个几乎不可重用的缓存条目中。Vary告诉缓存哪些请求字段可能会影响响应,但它不会告诉缓存哪些差异实际上很重要。现在,每个套餐的缓存规则都提供不同的支持。

源仍然命名可能影响响应的请求标头,但由您决定Cloudflare如何处理每个请求标头。您可以规范化已知的协商标头,在这些小差异很重要时传递精确值,或者在变体过于不可预测时绕过缓存。原点声明了可能变化的内容,并由您来决定有多少变化对缓存实际上是有意义的。

Vary的工作原理Vary是一个标准的HTTP响应标头,它告诉中间缓存(如Cloudflare )哪些请求字段可能会影响源发送的响应。网站使用Vary提供来自同一URL的不同语言、图像格式、压缩方案或区域内容。取一个产生两个有效表示的URL。