2012-04-13 53 views
1

我通过实现缓存来优化我的网页,所以如果我希望浏览器不要从缓存中取数据,那么我会追加一个动态数字作为查询值。将问号视为新的http请求?

如:google.com?val=823746

但有些时候,如果我想从缓存中的数据带来了以下网址,浏览器正在一个新的HTTP请求到服务器,它没有采取来自缓存的数据。那是因为URL中的问号吗?

例如:http://google.com

请提供一些参考文档链接。

在此先感谢。

问候, 纳文

回答

1

使用合适的HTTP标头。的pragma: no-cache 搜索和Expires

浏览器可能不包含查询字符串(部分?之后),除非标题注明到期时间明确缓存的URL。

所有浏览器的缓存策略都不相同。如果你没有指定适当的头文件,结果可能会更加不可预测。

由于查询字符串与动态生成的页面一起使用,因此即使查询字符串相同,浏览器也可以采用该提示并触发新的请求。 例如,桌面浏览器可能会在谨慎的方面出错,并触发新的请求。另一方面,具有积极的缓存策略的移动浏览器可能会从缓存中拉出页面。

+1

谢谢你的回复,我关心的只是问号,而不是后面的字符串。所以主要的情况是URL没有任何查询值,但URL有?标记。是的,HTTP头很好 – 2012-04-13 17:40:06

+1

那么实际存在的?独自可以被视为一个空的查询字符串的存在。 – Dojo 2012-04-13 18:11:24

+1

谢谢@Priyank,你有任何参考文档,以便我可以通过... – 2012-04-13 18:43:50