我通过实现缓存来优化我的网页,所以如果我希望浏览器不从缓存中获取数据,那么我会附加一个动态数字作为查询值。
例如: google.com?val=823746
但是有一段时间,如果我想从缓存中为下面的url带来数据,浏览器会向服务器发出新的http请求,而不是从缓存中获取数据。那是因为URL中的问号吗?
例如: http://google.com ?
请提供一些参考文件链接。
提前致谢。
此致 纳文
答案 0 :(得分:1)
使用适当的HTTP标头。
搜索pragma: no-cache
和Expires
浏览器可能不会缓存包含查询字符串的网址(?
之后的部分),除非标题明确指出到期时间。
所有浏览器的缓存策略都不相同。如果您没有指定适当的标题,结果可能会更加难以预测。
由于查询字符串与动态生成的页面一起使用,因此即使查询字符串相同,浏览器也可以接受该提示并触发新请求。 例如,桌面浏览器可能会小心谨慎并触发新请求。另一方面,具有积极缓存策略的移动浏览器可以从缓存中拉出页面。