我正在向 PHP 应用程序发送 AJAX GET 请求,并希望缓存请求返回以供以后使用。
由于我使用 GET 这应该是可能的,因为不同的请求请求不同的 URL(例如 getHTML.php?page=2 和 getHTML.php?page=5)。
我需要在 PHP 应用程序中声明哪些标头才能使客户端浏览器以正确的方式缓存请求 URL 内容?我是否需要在 Javascript 中声明处理 AJAX 请求的任何内容(我正在使用 jQuery 的 $.ajax 函数,它有一个缓存参数)?
我将如何处理更改内容的编辑,例如getHTML.php?page=2 以便客户端不会回退到缓存版本?
向 GET 请求添加另一个参数,例如getHTML.php?page=2&version=2 是不可能的,因为指向请求的 URL 的链接是自动创建的,无需任何检查(这最好是我想要的方式)。
当我尝试 AJAX 请求缓存的请求 URL 时,浏览器将如何反应? AJAX请求会立即返回成功吗?
Thanks
Willem
在服务器上添加以下标头:
header("Cache-Control: private, max-age=$seconds");
header("Expires: ".gmdate('r', time()+$seconds));
Where $seconds
有明显的意义。
我们设置了一个Expires
标题在这里,即使它应该被忽略,如果Cache-Control
标头与max-age
参数是之前设置的,因为有客户不遵守标准.
另外,检查您的服务器是否未发出其他一些反缓存标头,例如Pragma
。如果是这样,请添加Pragma: cache
头也。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)