1

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

例如:google.com ?val=823746

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

例如: http: //google.com

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

提前致谢。

问候, 纳文

4

1 回答 1

1

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

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

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

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

于 2012-04-13T17:25:54.687 回答