博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于HTTP头(header)的Vary的解释
阅读量:4078 次
发布时间:2019-05-25

本文共 580 字,大约阅读时间需要 1 分钟。

昨天晚上在追查一个问题的时候,在firebug中看到这个头“Vary”,以为遇到的问题和这个有关,就G/B了一下,发现能够说清楚的比较少,看了很多篇文章之后,我的解释如下,希望对看到的童鞋有帮助吧:

 

Vary的格式如下:

Vary  = "Vary" ":" ( "*" | 1#field-name )

 要么是“*”,要么是header的key名称组合

 

vary的意义在于告诉代理服务器/缓存/CDN,如何判断请求是否一样,vary中的组合就是服务器/缓存/CDN判断的依据,比如Vary中有User-Agent,那么即使相同的请求,如果用户使用IE打开了一个页面,再用Firefox打开这个页面的时候,CDN/代理会认为是不同的页面,如果Vary中没有User-Agent,那么CDN/代理会认为是相同的页面,直接给用户返回缓存的页面,而不会再去web服务器请求相应的页面。

 

以上便是我的理解,如有不正确的地方,请大家指正,如果搜http vary的中文页面,很多都是在讲vary对缓存的伤害有多大,但是没有人讲原因,搜http vary的英文页面,基本都是vary本身的解释(rfc),希望这篇文章给G/B后仍不知所云的童鞋一些帮助吧。

 

rfc:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

转载地址:http://iasni.baihongyu.com/

你可能感兴趣的文章
PostgreSQL查询优化器详解之逻辑优化篇
查看>>
STM32中assert_param的使用
查看>>
C语言中的 (void*)0 与 (void)0
查看>>
io口的作用
查看>>
IO口的作用
查看>>
UIView的使用setNeedsDisplay
查看>>
归档与解归档
查看>>
Window
查看>>
为什么button在设置标题时要用一个方法,而不像lable一样直接用一个属性
查看>>
字符串的截取
查看>>
2. Add Two Numbers
查看>>
17. Letter Combinations of a Phone Number (DFS, String)
查看>>
93. Restore IP Addresses (DFS, String)
查看>>
19. Remove Nth Node From End of List (双指针)
查看>>
49. Group Anagrams (String, Map)
查看>>
139. Word Break (DP)
查看>>
Tensorflow入门资料
查看>>
剑指_用两个栈实现队列
查看>>
剑指_顺时针打印矩阵
查看>>
剑指_栈的压入弹出序列
查看>>