服务器有很多东西是不变的,如果每次访问都重新去服务器拿,那服务器就得累死,这样情况下有把问题抛给了我们程序员,那们就控制浏览器,那些
的资源用服务器缓存,这样就减少服务器的请求次数,我们这里用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看一下
能看到,这次没有向服务器请求,拿的是缓存。