在阅读《图解HTTP》第六章的6.3.1中的对Cache-Control扩展的token标记产生了疑惑,下面是书中给出的示例
Cache-Control: private, community="UCI"
接下来我们可以看到书中的解释
如上例,Cache-Control首部字段本身没有community这个指令,借助extension tokens实现了该指令的添加,如果缓存服务器不能理解community这个新指令,就会直接忽略。因此,extension tokens仅对能理解它的缓存无服务器来说有意义的。
但是从这段解释再结合到示例,我还是完全搞不懂这个extension token到底是什么?
搜索了一圈无果,那么就直接去看RFC文档,RFC文档全称为“Request for comments”,我们可以把它简单看做是互联网协议的文档。
找到RFC2068 HTTP/1.1这个文档,里面有提到Cache-Control的扩展格式,如下:
token [ "=" ( token | quoted-string ) ]
将这个扩展格式带入实例中,可以知道,community
其实就是token
,“UCI”
就是圆括号中的token
或quoted-string
至此,破案!