java中常见的HTTP响应报文头属性有哪些?实例代码展示

BSO 2020-09-25 16:20:46 java常见问答 3640

在我们的日常工作与生活中,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工具网。

推荐阅读:

java发送http方式有哪几种?相关实例展示

http协议的作用是什么?http协议详解

http协议特点是什么?http协议原理详解