禁用网站之间的缓存共享

时间:2017-07-01 21:20:44

标签: http caching http-headers

有没有办法告诉浏览器不要在网站之间共享缓存资源? 我想给网站一个链接到我服务器上的一些JavaScript,我想使用Referer标头作为检查,使每个域的响应不同。 将被缓存的响应应该可用于请求它的域,当最终用户访问使用脚本链接的另一个站点时,应该另一个请求。

1 个答案:

答案 0 :(得分:0)

我不知道我是否理解你的问题。

您的方案是否:stackoverflow.com和yourwebsite.com使用名为“https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js”的相同脚本,但您不希望与stackoverflow.com共享缓存脚本

这是在googleapis.com的网络服务器的控制之下。

因此,如果缓存资源的原始服务器(googleapis.com)想要按照您的说法实现该功能,则可以使用 Vary 响应标头。 Vary Header定义缓存的二级密钥。

  

也许“Vary:Origin”但只适用于CORS

     

也许“Vary:referer”但是referer包含url路径

它仍然无法解决您的问题,但我希望它有所帮助。

参见MDN HTTP Cache Doc和[RFC 7234第4.1节]