课程大纲
一、定义
HTTP响应体(HTTP Response Body):服务器返回给客户端的数据部分,它包含了服务器对客户端请求的响应内容(如客户端请求的资源、客户端请求的执行结果)。
与请求类似,HTTP 响应同样由四个部分组成:响应行(状态行)、响应头、空行和响应体。如下:
(图片来自网络)
举例:
二、常见响应体类型
1、URL编码表单 | |
请求头 | Content-Type: application/x-www-form-urlencoded |
简介 | 只能传输键值对(key-value)。 |
2、(常用)form-data表单 | |
请求头 | Content-Type: multipart/form-data |
简介 | 可以传输键值对,也可传输文件。可以同时传输二者,字段之间会有分隔,不互相影响。 |
3、(很少用)binary二进制数据 | |
请求头 | Content-Type: application/octet-stream |
简介 | 只可以传输二进制数据,通常用来传输文件,一次只能传输一个文件。(数据被当作一系列字节处理) |
4、(最常用)json格式 | |
请求头 | Content-Type: application/json |
简介 | 参数以json字符串传递。 (是一种开放标准的文件格式和数据交换格式,它易于人阅读和编写,同时也易于机器解析和生成。) |
5、纯文本格式 | |
请求头 | Content-Type: text/plain |
简介 | 纯文本的形式,不含任何数据类型或结构描述符。 (如果浏览器获取到这种文件,不会对其进行处理) |
6、html网页格式 | |
请求头 | Content-Type: text/html |
简介 | html网页格式。 (若浏览器获取到这种文件,会自动调用html的解析器对文件进行相应的处理。) |
7、(极少)xml可扩展标记语言格式 | |
请求头 | Content-Type: text/xml 和 Content-Type: application/xml |
简介 | xml格式,目前非常少用,2种有细微差别,一般推荐使用application/xml。 |
格式与请求头相同,可参考文章《接口基础知识6:详解http request body(一篇讲明白请求体)》
本文章举3种格式示例:text/plain(纯文本格式)、text/html(html网页格式)、application/json(json格式)。
2.1 text/plain:纯文本格式
举例:
定义响应头“Content-Type: text/plain”,返回一个字符串“<html><head></head><body><div style="color: blue; font-size: 16px;">tuxiaomao</div></body></html>”。
(定义响应)
HTTP/1.1 200 OK
Date: Fri, 16 Aug 2024 03:41:58 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed, 22 Jul 2009 19:15:56 GMT
Content-Type: text/plain
Connection: Closed<html><head></head><body><div style="color: blue; font-size: 16px;">tuxiaomao</div></body></html>
(响应)
界面会原样显示字符串。
(界面显示)
2.2 text/html:html格式
举例1:
定义响应头“Content-Type: text/html”,返回一个字符串“<html><head></head><body><div style="color: blue; font-size: 16px;">tuxiaomao</div></body></html>”。
(定义响应)
HTTP/1.0 200 OK
Server: BaseHTTP/0.6 Python/3.9.6
Date: Fri, 16 Aug 2024 03:41:58 GMT
Content-Type: text/html
<html><head></head><body><div style="color: blue; font-size: 16px;">tuxiaomao</div></body>
</html>
(响应)
界面会显示解析为html网页的内容:带格式字符串“tuxiaomao”。
(界面显示)
举例2:
404页面。
HTTP/1.1 404 Not Found
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Content-Length: 230
Connection: Closed
Content-Type: text/html; charset=iso-8859-1<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head><title>404 Not Found</title>
</head>
<body><h1>Not Found</h1><p>The requested URL /t.html was not found on this server.</p>
</body>
</html>
2.3 application/json:json格式
举例:
HTTP/1.1 200 OK
Date: Sun, 18 Oct 2012 10:36:20 GMT
Server: Apache/2.2.14 (Win32)
Connection: Closed
Content-Type: application/json{"token":"fsanganfseiwehf"}
参考文章:
1、《HTTP响应是什么?》
https://blog.csdn.net/m0_62617719/article/details/128191090