response_用Expires头控制浏览器缓存

  服务器有很多东西是不变的,如果每次访问都重新去服务器拿,那服务器就得累死,这样情况下有把问题抛给了我们程序员,那们就控制浏览器,那些

的资源用服务器缓存,这样就减少服务器的请求次数,我们这里用response响应头中的Expires头来控制浏览器缓存

 1     public class ResponseDemo1 extends HttpServlet {
 2 
 3 
 4     public void doGet(HttpServletRequest request, HttpServletResponse response)
 5             throws ServletException, IOException {
 6         //设置expires头,来控制浏览器缓存
 7         //注意这里一定要用当前的时间来加上你要缓存多长时间
 8         response.setDateHeader("expires", System.currentTimeMillis()+1000*3600);
 9         
10         String data = "xxxxxxxxxxxxxxxxxxx";
11         response.getWriter().write(data);
12 
13     }
14 
15     public void doPost(HttpServletRequest request, HttpServletResponse response)
16             throws ServletException, IOException {
17         doGet(request,response);
18     }
19 
20 }

  发布好项目,我们看一下浏览器缓存情况,注意,在IE里看缓存最好先清除一下缓存,在浏览器历史记录点击设置,再点击查看文件,这个文件夹就是IE缓存文件夹,有好多缓存,我们给他删除了。

  删除了缓存文件,我们用httpwatch观察一下,第一次请求,

  我们在查看一下ie的缓存目录

  我当前的时间是9点50

  我们能看到他的缓存时间是10:50 也就是说我在访问的话就不用在向服务器请求了,直接拿缓存,第二次访问我们用httpwatch看一下

 

  能看到,这次没有向服务器请求,拿的是缓存。

如果有使用请标明来源:http://www.cnblogs.com/duwenlei/
原文地址:https://www.cnblogs.com/duwenlei/p/3491829.html