对于服务器来说,所有的请求都是第一次,没有记忆功能.对于客户来说是不好的,但是对与服务器来说能够有效防止它的崩溃,就把这种解决方式给了客户端(浏览器)

 缓存的优势

  第一次请求的结果会保存在缓存区.第二次相同的请求的时候,就知道直接在缓存区将数据返回给你,不在向服务器请求了,增强页面的响应速度和用户体验.

 缓存的缺点

  第二次请求的相似度过高,浏览器会认为是第一次发送请求,就直接从缓存区拿数据,不向服务器请求,占内存.

 解决的方法

  1、在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“Cache-Control”,”no-cache”);

  2、在服务端加 header(“Cache-Control: no-cache, must-revalidate”);

  3、在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“If-Modified-Since”,”0″);

  4、在 Ajax 的 URL 参数后加上 "?fresh=" + Math.random();

  5、第五种方法和第四种类似,在 URL 参数后加上 "?timestamp=" + new Date().getTime();