浏览器缓存无效的问题
我在实验PHP设置Cache-Control和Expires来控制浏览器缓存的时候, 无论怎么设置, 浏览器缓存就是不起作用,
1:使用Cache-Control
header('Cache-Control:max-age=120');
echo time();
这种方式每次都还是更新time()
2: 使用Expires
与Cache-Control类似,
header("Expires: ".gmdate('D d M Y H:i:s ', time()+60*2).' GMT');
echo time();
同样无法缓存起来
请问这是什么问题。
另外, Cache-Control的max-age如果设置了,比如3600,是不是3600s内浏览器再次访问时都不会再对服务器请求了,而是直接拉本地缓存数据, 还是说请求了, 但返回了一个类似于304的状态码?
在系统默认情况下, 假如是静态文件, 则默认使用Last-Modified缓存方式?
如果是动态PHP文件, 在php代码中, 是不是还要手动的返回304或者走完代码, 返回数据
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
php header
动态内容是不建议缓存
如果要缓存可以采用一下策略
你需要重新补一下浏览器缓存协商的知识。特别是PHP这种破玩意,啥都得自己来,你必须要明白中间的明确通信细节。