据我所知,HTTP头部字段
如果省略该头部,则表示只考虑URL。
但当头部为
我发现,如果您使用ASP.NET的
Vary
指定了一个逗号分隔的HTTP头部列表,缓存在决定请求是缓存命中还是缓存未命中时需要将其与URL一起考虑。如果省略该头部,则表示只考虑URL。
但当头部为
Vary:*
时会发生什么呢?
RFC 2616 14.4
RFC 2616 13.6***的Vary字段值表示未指定参数(例如客户端的网络地址)在选择响应表示时起作用。*值不得由代理服务器生成;它只能由源服务器生成。
这是否意味着所有带有此头部的请求都将成为缓存未命中?*的Vary头部字段值始终无法匹配,并且对该资源的后续请求只能由源服务器正确解释。
我发现,如果您使用ASP.NET的
OutputCacheAttribute
,它会返回该HTTP头部,如果您不想要该头部,或者想要指定自定义头部,则必须显式禁用该行为,因此我(希望)认为这是不太可能的。
< p >"Vary:*
"的实际意义是什么?
谢谢。