接口基础知识9:详解response body(响应体)

课程大纲

一、定义

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue中父组件向子组件传值,子组件向父组件传值,简洁易懂

Vue中父组件传值到子组件 Vue中父组件传值分为两步&#xff1a; 一、父组件中代码中&#xff0c;使用属性绑定向子组件传递数据&#xff0c; 如图, 其中&#xff0c;:titles"title"就是在将父组件的title属性值&#xff0c;传递到子组件所绑定的titles属性中&#x…

python之matplotlib (3 坐标轴设置)

写在前面 在说明坐标轴设置之前&#xff0c;我有必要和大家说清楚图像设置的一些方法&#xff0c;避免陷入困扰模糊的地步。前面我们说过&#xff0c;画图的三种方法&#xff08;python之matplotlib &#xff08;1 介绍及基本用法&#xff09;-CSDN博客&#xff09;。而设置也…

2024开源资产管理系统推荐 8款免费开源IT资产管理系统/软件

开源资产管理系统 开源资产管理系统是帮助企业管理、跟踪和优化其资产的强大工具。这些系统能够自动记录资产的详细信息&#xff0c;如采购日期、使用情况、维护记录等&#xff0c;从而实现资产的全生命周期管理。企业可以通过这些系统优化资产使用效率&#xff0c;减少资产闲…

【TCP】确认应答、超时重传机制和TCP报头

TCP 相关机制 TCP 基本特点&#xff1a;有连接、可靠传输、面向字节流、全双工 有连接、面向字节流和全双工都能在前面的代码中体现有连接&#xff1a;必须要先调用 accept 建立联系才能处理面向字节流&#xff1a;会拿到 clientSocket 对象的 InputStream 和 OutputStream&a…

轻松解决找不到“MSVCP120.dll”的困扰

文章目录 轻松解决找不到“MSVCP120.dll”的困扰了解“MSVCP120.dll”可能导致问题的原因解决方法方法一&#xff1a;重新安装 Microsoft Visual C Redistributable 包&#xff08;亲测有效&#xff09;附官方网站链接两个安装包链接方法二&#xff1a;使用系统文件检查工具&am…

python人工智能002:jupyter基本使用

小知识&#xff1a;将jupyter修改为中文&#xff0c;修改用户变量&#xff0c; 注意是用户变量&#xff0c;不是系统变量 新增用户变量 变量名&#xff1a;LANG 变量值&#xff1a;zh_CN.UTF8 然后重启jupyter 上一章的软件安装完成之后&#xff0c;就可以创建文件夹来学习写…

Redis中List数据类型常用命令

目录 1. 基本操作 &#xff08;1&#xff09;在列表的头部插入一个元素 &#xff08;2&#xff09;在列表的尾部插入一个元素 &#xff08;3&#xff09;获取列表的长度 &#xff08;4&#xff09;获取列表中的元素 2. 读取和修改 &#xff08;1&#xff09;获取列表的范围&…

MaxKB(二):Ubuntu24.04搭建maxkb开发环境

接上文&#xff1a;windows10搭建maxkb开发环境&#xff08;劝退指南&#xff09; 上文在windows10环境搭建maxkb开发环境遇到各种坑&#xff0c;后面就转战ubuntu平台&#xff0c;果然比较顺利的完成开发环境搭建。当然遇到相关的问题还是可以参考上文《windows10搭建maxkb开发…

拟合与插值|线性最小二乘拟合|非线性最小二乘拟合|一维插值|二维插值

挖掘数据背后的规律是数学建模的重要任务&#xff0c;拟合与插值是常用的分析方法 掌握拟合与插值的基本概念和方法熟悉Matlab相关程序实现能够从数据中挖掘数学规律 拟合问题的基本提法 拟合问题的概念 已知一组数据(以二维为例)&#xff0c;即平面上n个点 ( x i , y i ) …

Harbor仓库push显示

背景&#xff1a; 在做测试时发现harbor仓库端口开放这&#xff0c;却一直登录不上去&#xff0c;重启harbor资源包docker-compose还是不行&#xff0c;修改了docker.service文件不行&#xff0c;json文件也不行&#xff0c;以下是涉及到的命令和报错&#xff08;好像是这个&a…

C语言指针详解-上

C语言指针详解-上 前言1.指针的基本概念1.1指针是什么1.2指针的声明与初始化1.3取地址符&和解引用符*& 运算符用于**获取变量的地址*** 运算符用于访问指针指向的值 2.指针的类型常见数据类型的指针指针与数组、字符串数组指针结构体指针函数指针二级指针void指针 3.指…

对零基础想转行网络安全同学的一点建议

最近有同学在后台留言&#xff0c;0基础怎么学网络安全&#xff1f;0基础可以转行做网络安全吗&#xff1f;以前也碰到过类似的问题&#xff0c;想了想&#xff0c;今天简单写一下。 我的回答是先了解&#xff0c;再入行。 具体怎么做呢&#xff1f; 首先&#xff0c;你要确…

进程地址空间(二)

目录 前言1. 进程地址空间究竟是什么2. 为什么要有进程地址空间2.1 让进程以统一的视角看待内存结构2. 2 保护物理内存2.3 进程管理 与 内存管理模块 的解耦合2.3.1 页表地址2.3.2 页表的权限管理2.3.3 关于进程挂起 && 惰性加载 4. 进程独立性的体现 前言 接着上篇文…

滑动变阻器的未来发展趋势和前景如何?是否有替代品出现?

滑动变阻器是常见的电子元件&#xff0c;主要用于调节电路中的电阻值。随着科技的不断发展&#xff0c;滑动变阻器的未来发展趋势和前景也引起了广泛关注。 滑动变阻器的未来发展将更加注重智能化&#xff0c;随着物联网、人工智能等技术的快速发展&#xff0c;滑动变阻器也将与…

git stash详细教程

git stash详细教程 基本命令: git stash: 保存当前未提交的更改&#xff0c;并恢复到干净的工作目录。git stash list: 列出所有的 stash。git stash show: 显示最新 stash 的简要内容。git stash show -p: 显示最新 stash 的详细内容。 应用和删除: git stash apply: 应用最新…

华为数通路由交换HCIP/HCNP

2017-2022年软考高级网络规划设计师真题解析视频&#xff01;软考复习一定要多做历年真题&#xff01; 2022年软考网络规划设计师真题解析_哔哩哔哩_bilibili 2024年5月软考网络工程师真题解析合集&#xff0c;考后估分版【综合知识案例分析】 2024年5月软考网络工程师真题解…

C语言 | Leetcode C语言题解之第347题前K个高频元素

题目&#xff1a; 题解&#xff1a; struct hash_table {int key;int val;// 查看 https://troydhanson.github.io/uthash/ 了解更多UT_hash_handle hh; };typedef struct hash_table* hash_ptr;struct pair {int first;int second; };void swap(struct pair* a, struct pair*…

YUM和NFS

文章目录 yum软件仓库的提供方式RPM软件包的来源Linux系统各家厂商用的安装源命令---yum 配置本地yum源具体操作 搭建ftp yum仓库环境具体操作实操环境服务端一、安装 vsftpd服务二、创建一个文件&#xff0c;并且挂载三、开启服务四、查看挂载 客户端五、备份六、搭建ftp yum仓…

【联想电脑】:使用拓展坞后转接HDMI,无法识别显示屏

项目场景&#xff1a; 作为一个嵌入式软件开发者&#xff0c;有两个外接屏幕&#xff0c;不足为奇。 但是在今天的使用电脑过程中&#xff0c;出现了接了一个拓展坞上面有HDMI接口&#xff0c;但是HDMI接口接上外接显示屏的时候电脑无法识别到&#xff0c;导致只有电脑直连的HD…

【Golang】go mod的使用

【1】GO111MODULE有三个值&#xff1a;off, on, auto off&#xff1a;go命令行将不会支持module功能&#xff0c;将会使用旧版本那种通过vendor目录或者GOPATH来查找依赖包的方式。 on&#xff1a;go命令行会使用modules功能&#xff0c;而不…