作为问题标题,应通过以下方式禁用缓存:
在请求中附加唯一的javascript生成字符串:
/REST/data.php?u=32dajasda98s1641k801
发送缓存控制标头:
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
每次使用ajax从服务器向客户端发送动态内容?什么时候需要?什么时候不需要?
答案 0 :(得分:0)
基本上,每当您希望保证在下次请求数据时从服务器获得“新鲜”响应时,您都需要以某种方式禁用缓存。如果不这样做,则允许您与服务器或服务器本身之间的任何代理缓存响应,并在下一次请求时将其返回给您。
通过配置不应缓存的URL并且服务器将为您处理它,可以在脚本中直接在示例中或在(大多数?所有?)Web服务器中完成此操作。
你提到的两种方法中更“礼貌”的绝对是高速缓存控制标题,这使得代理根本不会缓存。动态生成的一个仍然可以发送允许代理缓存的标头,因为每个URL只发出一个请求,所以不必填充缓存。