我正在向一个PHP应用程序发送AJAX GET请求,并希望缓存请求返回以供以后使用.
由于我使用GET,因此不同的请求请求不同的URL(例如getHTML.php?page = 2和getHTML.php?page = 5).
我需要在PHP应用程序中声明哪些标头,以使客户端浏览器以正确的方式缓存请求URL内容?我是否需要在处理AJAX请求的Javascript中声明任何内容(我使用jQuery的$ .ajax函数,它具有缓存参数)?
我如何处理更改例如getHTML.php?page = 2的内容的编辑,以便客户端不会回退到缓存版本?向GET请求添加另一个参数,例如getHTML.php?page = 2&version = 2是不可能的,因为无需任何检查(最好是我想要的方式),自动创建到请求的URL的链接.
当我尝试AJAX请求缓存的请求URL时,浏览器将如何反应?AJAX请求会立即返回成功吗?
谢谢
威廉
在服务器上添加以下标头:
header("Cache-Control: private, max-age=$seconds"); header("Expires: ".gmdate('r', time()+$seconds));
凡$秒,具有明显的意义.
另外,检查您的服务器是否不发布其他一些反缓存标头,如Pragma.如果是这样,请添加"Pragma:cache"标题.