{site_name}

{site_name}

🌜 搜索

HTTP中的Vary头字段用于指定响应缓存的"可变因素",也就是影响缓存是否能够被重用的请求头部

前端 𝄐 0
HTTP中的Vary头字段用于指定响应缓存的"可变因素",也就是影响缓存是否能够被重用的请求头部。

当代理服务器或浏览器从缓存中检索响应时,它们会根据缓存的键(通常是URL)和Vary头字段中列出的请求头来进行匹配。如果这些请求头与当前请求匹配,则缓存将被重用;否则,新的响应将被请求并缓存。

例如,假设有两个客户端,一个使用Accept-Encoding: gzip请求头接受压缩内容,另一个不使用该请求头。如果服务器响应包含Vary: Accept-Encoding头,则代理服务器或浏览器将为每个客户端分别缓存不同的副本,以便适应不同的请求头。

以下是一个包含Vary头字段的HTTP响应示例:


HTTP/1.1 200 OK
Date: Wed, 28 Jul 2021 05:31:00 GMT
Content-Type: text/html
Content-Length: 1234
Vary: Accept-Encoding
Cache-Control: public, max-age=3600


在上面的例子中,Vary头字段告诉代理服务器或浏览器缓存应该基于Accept-Encoding请求头的值而变化,因此对于具有不同Accept-Encoding值的请求缓存是独立的。