AJAX之利用时间戳解决缓存问题

来源:互联网 发布:网络言论自由弊端事例 编辑:程序博客网 时间:2024/05/22 10:51

前言

    在浏览器中,如果我们每次请求的地址都是相同的,就会在浏览器中留下缓存,下次我们再输入相同的网址的时候,就不会访问服务器,而是访问缓存。

优点:减少服务器压力以及减少宽带的使用。

缺点:不适用于使用AJAX的情况。

原因:AJAX为异步传输,需要保持时刻与服务器进行交互,如果只访问缓存的时候,就体现不出AJAX的作用了。


缓存原理

     Web缓存存在于服务器和客户端之间。Web缓存密切注视着服务器-客户端之间的通信,监控请求,并且把请求输出

的内容(例如html页面、 图片和文件)另存一份;然后,如果下一个请求是相同的URL,则直接使用保存的副本,而不

是再次请求源服务器。

                                   


解决办法

使用时间戳,来使每次的请求地址都不同。

if(url.indexof("?") >= 0){    url = url + "&t=" + (new date()).valueof();}else{    url = url + "?t=" + (new date()).valueof();}