http响应:由服务器软件发送的,发送给客户端使用的
当服务器软件接收到请求之后,把需要返回的数据组装成http响应,发送给客户端浏览器。

由服务器软件发送的,发送给客户端使用的.

一个HTTP响应代表着服务器向浏览器回送数据
一个完整的HTTP响应应该包含四个部分:

1. 一个状态行【用于描述服务器对请求的处理结果。】
2. 多个消息头【用于描述服务器的基本信息,以及数据的描述,服务器通过这些数据的描述信息,可以通知客户端如何处理等一会儿它回送的数据】
3. 一个空行
4. 实体内容【服务器向客户端回送的数据】


响应行

格式: HTTP版本号 状态码 原因叙述
状态行:HTTP/1.1 200 OK

标识服务器端对客户端请求的处理结果,主要由响应状态信息,响应状态码,服务器协议HTTP协议:参考请求头当中对协议的描述。


状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。响应状态码分为5类
http响应 - 图1

响应头

格式:key:value
一个键值对是一个响应头
一次响应可以有任意多个响应头

Location: http://www.it315.org/index.jsp 【服务器告诉浏览器要跳转到哪个页面】

Server:apache tomcat【服务器告诉浏览器,服务器的型号是什么】

Content-Encoding: gzip 【服务器告诉浏览器数据压缩的格式】

Content-Length: 80 【服务器告诉浏览器回送数据的长度】

Content-Language: zh-cn 【服务器告诉浏览器,服务器的语言环境】

Content-Type: text/html; charset=GB2312 【服务器告诉浏览器,回送数据的类型】

Last-Modified: Tue, 11 Jul 2000 18:23:51 GMT【服务器告诉浏览器该资源上次更新时间】

Refresh: 1;url=http://www.it315.org【服务器告诉浏览器要定时刷新】

Content-Disposition: attachment; filename=aaa.zip【服务器告诉浏览器以下载方式打开数据】

Transfer-Encoding: chunked 【服务器告诉浏览器数据以分块方式回送】

Set-Cookie:SS=Q0=5Lb_nQ; path=/search【服务器告诉浏览器要保存Cookie】

Expires: -1【服务器告诉浏览器不要设置缓存】

Cache-Control: no-cache 【服务器告诉浏览器不要设置缓存】

Pragma: no-cache 【服务器告诉浏览器不要设置缓存】

Connection: close/Keep-Alive 【服务器告诉浏览器连接方式】

Date: Tue, 11 Jul 2000 18:23:51 GMT【服务器告诉浏览器回送数据的时间】


响应体

本次响应的正文数据内容。
http响应对应一个response对象,服务器软件创建一个response对象,并且把这个response对象传递给我们的Java程序(servlet).
我们可以向response对象里面设置(放)一些数据,最终服务器软件会把response里面的数据,转换成http响应发送回客户端.

参考:
https://www.iteye.com/blog/cooldream666-1677015