Caching 指示浏览器缓存忽略某些URL参数
我想要两个IframeCaching 指示浏览器缓存忽略某些URL参数,caching,iframe,browser-cache,Caching,Iframe,Browser Cache,我想要两个Iframe <iframe src="www.URL.com?name=benny&runtime=1231231> <iframe src="www.URL.com?name=benny&runtime=757847584> 在不同时间加载以映射到浏览器中的相同缓存值。服务器与此无关。基本上,有没有办法让chrome、firefox等。。。缓存api在查找src时忽略某些参数(在本例中为“运行时”) 在不可能的用例中,传递单独的参数
<iframe src="www.URL.com?name=benny&runtime=1231231>
<iframe src="www.URL.com?name=benny&runtime=757847584>
在不同时间加载以映射到浏览器中的相同缓存值。服务器与此无关。基本上,有没有办法让chrome、firefox等。。。缓存api在查找src时忽略某些参数(在本例中为“运行时”)
在不可能的用例中,传递单独的参数或单独调用运行时将不起作用。您需要从
src
中删除具有不同值的参数,或者使用XMLHttpRequest
和blob来请求资源,并使用JavaScript从请求URI中删除参数。如果你将使用<代码> XMLHttpRequest < /代码>,你也需要考虑同源策略。
浏览器缓存键是HTTP方法和URI的组合。查询参数是URI的一部分。相关摘录自:
主缓存键由请求方法和目标URI组成。
然而,由于目前常用的HTTP缓存通常是有限的
为了缓存要获取的响应,许多缓存只是简单地拒绝其他方法
并仅使用URI作为主缓存键
有关更多信息,请查看Eric Bidelman和MDN
若您控制为您的资源提供服务的服务器,您还可以通过某些参数调整它以改变缓存条目。例如,在ASP.NET MVC中,可以使用
OutputCache
属性的VaryByParam
属性。有关更多信息,请查看Microsoft ASP.NET团队。如果www.URL.com?name=benny&runtime=1231231
和www.URL.com?name=benny&runtime=757847584
指向相同的资源,为什么首先需要运行时
参数?您可能应该从这些URL中删除runtime
参数?由于缓存忽略缓存之后的所有内容,
表示URI的查询组件的开始<代码>#表示片段组件的开始。严格地说,浏览器HTTP缓存不会忽略片段,而不会发送它。查询和片段是不同的事物,存在的目的不同。要了解片段是否适合您的情况,您可以检查URI规范的和部分。