HTTP响应报文

响应报文结构 

HTTP的响应报文也由三部分组成(响应行+响应头+响应体): 



①报文协议及版本; 
②状态码及状态描述; 
③响应报文头,也是由多个属性组成; 

④响应报文体,即传输的主体数据。 


下面是几个常见的状态码: 

200 OK 处理成功
303 See Other 我把你重定向(redirect)到其它的页面,目标的URL通过响应报文头的Location告诉你。 
304 Not Modified 告诉客户端,你请求的这个资源至你上次取得后,并没有更改,你直接用你本地的缓存吧 
404 Not Found 找不到页面 
500 Internal Server Error 服务端异常 

其它的状态码参见:点击打开链接

常见的HTTP响应报文头属性

Cache-Control 
响应输出到客户端后,服务端通过该报文头属告诉客户端如何控制响应内容的缓存。 

下面,的设置让客户端对响应内容缓存3600秒,也即在3600秒内,如果客户再次访问该资源,直接从客户端的缓存中返回内容给客户,不要再从服务端获取(当然,这个功能是靠客户端实现的,服务端只是通过这个属性提示客户端“应该这么做”,做不做,还是决定于客户端,如果是自己宣称支持HTTP的客户端,则就应该这样实现)。 

Cache-Control: max-age=3600  

Location 

我们在JSP中让页面重定向到一个某个A页面中,其实是让客户端再发一个请求到A页面,这个需要重定向到的A页面的URL,其实就是通过响应报文头的Location属性告知客户端的,如下的报文头属性,将使客户端重定向到iteye的首页中: 

Location: http://www.iteye.com  
Set-Cookie 

服务端可以设置客户端的Cookie,其原理就是通过这个响应报文头属性实现的: 

Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1   

其它的HTTP响应头报文,参见:  点击打开链接

猜你喜欢

转载自blog.csdn.net/qq_41611042/article/details/80457258