spring中对浏览器缓存的控制

来源:互联网 发布:淘宝详情图尺寸 编辑:程序博客网 时间:2024/04/19 04:09

我们平常在页面发送一个url请求的时候,会通过网络去服务器获取这个资源,网速好的时候倒是没什么,但是网络差一点的话,资源获取的延时就会很长,用户体验就会大大降低。但是我们可以使用缓存来解决这个问题。

当我们请求一个资源的时候,会返回一个响应头,这时只要在响应头里加上一个过期时间,只要过期时间没有到期,浏览器就会直接读缓存,而不是重新通过网络读取这个资源。在spring中的控制器可以做到这一点。

只要在静态页面跳转的控制器加上HttpServletResponse response参数,并且设置响应头的延时时间 

response.setDateHeader("Expires", System.currentTimeMillis()+1*60*60*1000);
     这样,第二次访问这个页面的时候,就不会重新通过这个控制器从网络中获取了,而是直接从浏览器缓存中获取,大大提高了资源的访问速度。

 浏览器在访问一个url的时候,会先访问浏览器的缓存空间,有没有这个条记录,有的话,检查时间,过期,重新读,没过期,直接从缓存拿,如果没有这条缓存记录,就访问url。但是,有些资源我们不希望浏览器从缓存中读取,比如我们平时经常用的验证码。这时只要在请求url的网址后面加上一个不会重复随机字段,浏览器就不会从缓存中读取资源了。

0 0
原创粉丝点击