HTTP协议(响应消息)
...大约 2 分钟
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. 响应行
- 组成格式:
协议/版本 响应状态码 状态码描述
,如:HTTP/1.1 200
。 - 响应状态码:服务器告诉客户端浏览器本次请求和响应的一个状态。
- 状态码都是3位数字
- 分类:
- 1xx:服务器接收客户端消息,但没有接收完成,等待一段时间后,发送1xx状态码;
- 2xx:成功,代表:200;
- 3xx:重定向,代表:302(重定向),304(访问缓存);
- 重定向:比如访问demo1路径下的资源时,服务器发送302告诉你该路径的资源不能满足你的要求,然后重定向到demo2路径,去访问demo2路径下的资源。
- 访问缓存:比如demo1路径下有张图片资源,之前已经访问过该路径并把该图片缓存到了本地,再访问demo1路径时,服务器就会发送304告诉你去访问本地的缓存图片就可以了,不用从服务器上重新加载该图片。
4. 4xx:客户端错误,代表:404(请求路径没有对应的资源),405(请求方式没有对应的doXxx方法);
5. 5xx:服务器端错误。代表:500(服务器内部出现异常)。
2.2.2. 响应头:
- 组成格式:
头名称:值
,如:Content-Type: text/html;charset=UTF-8
。 - 常见的响应头:
- Content-Type:服务器告诉客户端本次响应体数据格式以及编码格式;
- Content-disposition:服务器告诉客户端以什么格式打开响应体数据。
- 值得取值有两种
- in-line:默认值,在当前页面内打开;
- attachment;filename=xxx:以附件形式打开响应体,比如:文件下载。
- 值得取值有两种
2.2.3. 响应空行
就是一条空行,用来分隔响应头和响应体。
2.2.4. 响应体
传输的数据,原始信息就是html的页面。