在我们的日常工作与生活中,java的使用是十分广泛的,几乎涉及到了方方面面,这也说明了它的功能之强大,内容之丰富。今天就来为大家介绍java中常见的HTTP响应报文头属性有哪些,并且通过实际的代码来为大家展示,一起来看看吧。
1.Cache-Control
响应输出到客户端后,服务端通过该报文头属告诉客户端如何控制响应内容的缓存。
设置让客户端对响应内容缓存3600秒,也即在3600秒内,如果客户再次访问该资源,直接从客户端的缓存中返回内容给客户,不要再从服务端获取 。
当然,这个功能是靠客户端实现的,服务端只是通过这个属性提示客户端“应该这么做”,做不做,还是决定于客户端,如果是自己宣称支持HTTP的客户端,则就应该这样实现 。
代码展示如下:
Cache - Control: max - age = 3600
2.ETag
一个代表响应服务端资源(如页面)版本的报文头属性,如果某个服务端资源发生变化了,这个ETag就会相应发生变化。
它是Cache-Control的有益补充,可以让客户端“更智能”地处理什么时候要从服务端取资源,什么时候可以直接从缓存中返回响应。
spring3.0还专门为此提供了一个org.springframework.web.filter.ShallowEtagHeaderFilter(实现原理很简单,对JSP输出的内容MD5,这样内容有变化ETag就相应变化了),用于生成响应的ETag,因为它确实可以帮助减少请求和响应的交互。
代码展示如下:
ETag: "737060cd8c284d8af7ad3082f209582d"
3.Location
想在JSP中让页面Redirect到一个某个A页面中,其实是让客户端再发一个请求到A页面,这个需要Redirect到的A页面的URL,其实就是通过响应报文头的Location属性告知客户端的。
代码展示如下:
Location: http://www.iteye.com
4.Set-Cookie
服务端可以设置客户端的Cookie,其原理就是通过这个响应报文头属性实现的,代码展示如下:
Set - Cookie: UserID = JohnDoe; Max - Age = 3600; Version = 1
以上就是关于java中常见的HTTP响应报文头属性有哪些的主要内容了。通过实际的代码为大家展示,也是为了方便理解。如果你对java知识感兴趣,想要了解更多java经典例子以及常见问题,敬请关注奇Q工具网。
推荐阅读: