HTTP协议(响应消息)

Mr.he...大约 2 分钟JavaWebResponse

1. 请求消息

客户端发送给服务器端的数据。

1.1. 数据格式

包含:请求行、请求头、请求空行、请求体。

1.2. 详细解析

详细解析查看[Servlet&HTTP&Request]({% post_path 'JavaWEB-4.Servlet&HTTP&Request-note' %}#Request入门)中Request的内容。

2. 响应消息

服务器端发送给客户端的数据。

2.1. 数据格式

包含:响应行、响应头、响应空行、响应体。

2.2. 详细解析

HTTP/1.1 200                         <!--响应行-->
Content-Type: text/html;charset=UTF-8<!--响应头-->
Content-Length: 101
Date: Sun, 11 Jul 2021 06:58:47 GMT
                                     <!--响应空行-->

<html>                               <!--响应体-->
<head>
    <title>Response</title>
</head>
<body>
Hello,Response!
</body>
</html>

2.2.1. 响应行

  1. 组成格式: 协议/版本 响应状态码 状态码描述,如:HTTP/1.1 200
  2. 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。
  3. 状态码都是3位数字
  4. 分类:
    1. 1xx:服务器接收客户端消息,但没有接收完成,等待一段时间后,发送1xx状态码;
    2. 2xx:成功,代表:200;
    3. 3xx:重定向,代表:302(重定向),304(访问缓存);
  • 重定向:比如访问demo1路径下的资源时,服务器发送302告诉你该路径的资源不能满足你的要求,然后重定向到demo2路径,去访问demo2路径下的资源。
  • 访问缓存:比如demo1路径下有张图片资源,之前已经访问过该路径并把该图片缓存到了本地,再访问demo1路径时,服务器就会发送304告诉你去访问本地的缓存图片就可以了,不用从服务器上重新加载该图片。
  4.  4xx:客户端错误,代表:404(请求路径没有对应的资源),405(请求方式没有对应的doXxx方法); 
  5.  5xx:服务器端错误。代表:500(服务器内部出现异常)。 

2.2.2. 响应头:

  1. 组成格式:头名称:值,如:Content-Type: text/html;charset=UTF-8
  2. 常见的响应头:
    1. Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式;
    2. Content-disposition:服务器告诉客户端以什么格式打开响应体数据。
      • 值得取值有两种
        1. in-line:默认值,在当前页面内打开;
        2. attachment;filename=xxx:以附件形式打开响应体,比如:文件下载。

2.2.3. 响应空行

就是一条空行,用来分隔响应头和响应体。

2.2.4. 响应体

传输的数据,原始信息就是html的页面。