带问号的网址被视为新的http请求?

时间:2012-04-13 17:00:09

标签: url caching browser httprequest browser-cache

我通过实现缓存来优化我的网页,所以如果我希望浏览器不从缓存中获取数据,那么我会附加一个动态数字作为查询值。

例如: google.com?val=823746

但是有一段时间,如果我想从缓存中为下面的url带来数据,浏览器会向服务器发出新的http请求,而不是从缓存中获取数据。那是因为URL中的问号吗?

例如: http://google.com

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

提前致谢。

此致 纳文

1 个答案:

答案 0 :(得分:1)

使用适当的HTTP标头。 搜索pragma: no-cacheExpires

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

所有浏览器的缓存策略都不相同。如果您没有指定适当的标题,结果可能会更加难以预测。

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