请求报文:客户端发给服务器
响应报文:服务器发给客户端
一、请求报文具体内容及结构
1、请求行
①请求方法:告诉服务器你想要对指定的资源执行什么操作。
GET:获取数据
POST:新增数据
PUT/PATCH:更新数据
DELETE:删除数据
(常用)
②URL:想要访问的资源的地址,一个能够唯一标识服务器上资源的路径。
③HTTP版本号:指定客户端使用的HTTP协议版本
2、请求头:由键值对组成,包含了客户端发送给服务器的一系列元数据,这些元数据用于向服务器提供关于请求的额外信息,以便服务器能够正确地处理和响应请求。
常见的请求头字段:
Host:指定了请求的目标服务器的主机名和端口号。
User-Agent:标识了发起请求的客户端应用程序的信息,包括操作系统、浏览器版本等。
Accept:指定了客户端能够接受的响应内容的类型,如text/html、application/json等。
Content-Type:指定了请求体中发送的数据的类型。
Accept-Language:表示客户端可以接受的语言类型,如en-US、zh-CN等。
Connection:表示客户端与服务器之间连接的类型,如keep-alive、close等。
Cookie:用于在请求中传递保存在客户端的会话信息。
token:身份验证。
(请求头与请求体之间有一行空行)
3、请求体:携带数据到服务器。
请求体可以为空,GET请求通常不包含请求体,因为它们通过URL的查询参数来传递数据。而POST、PUT等请求方法则经常包含请求体,用于向服务器提交数据或更新资源。
常见的请求体内容及其用途:
- application/x-www-form-urlencoded:
- 用于表单数据的提交。
- 数据被编码为键值对,每个键值对之间通过
&
符号连接,如key1=value1&key2=value2
。
- multipart/form-data:
- 用于上传文件。
- 请求体被划分为多个部分,每个部分可以包含一个表单字段或一个文件。
- 每个部分都有自己的
Content-Disposition
头部字段,用于指定字段的名称和文件名(如果适用)。 - 这种格式支持同时上传多个文件和表单字段,非常适合需要文件上传的场景。
- application/json:
- 用于传输结构化的数据,如JSON对象。
- 请求体是一个JSON字符串,包含了键值对或嵌套的数据结构。
- text/plain:
- 用于传输纯文本数据。
- 请求体可以是任意文本内容,不需要进行特殊的编码或格式化。
- 它适用于那些不需要复杂数据结构的简单文本传输场景
二、响应报文具体内容及结构
1、响应行
①HTTP版本号
②响应状态码
200:请求成功
403:禁止请求
404:找不到资源
500:服务器内部错误
③响应状态描述:与状态码对应
200:ok
403:forbidden
404:not found
500:internal server error
2、响应头
Access-Control-Allow-Origin:指定哪些源(域名)有权限访问资源。
Content-Type:指定响应内容的媒体类型(MIME类型)
Content-Length:表示响应体的长度
Access-Control-Allow-Methods:指定允许跨域请求的方法,如GET
、POST
等。
3、响应体:服务器返回的各类资源