HTTP协议-请求头和请求体
请求头
请求头(Request Header)是在HTTP协议中用于描述一个HTTP请求的元数据。它是客户端发送给服务器的一部分请求信息,包含了客户端的相关配置和要求。
请求头通常包含以下几个部分:
1. 请求方法(Request Method):指明了客户端要对服务器执行的操作,常见的方法有GET、POST、PUT、DELETE等。
2. 请求URL(Request URL):指定了客户端要请求的资源的URL地址。
3. 协议版本(Protocol Version):指定了客户端使用的HTTP协议版本,如HTTP/1.1。
4.Host(主机):指定了请求的目标服务器的主机名和端口号。
5.User-Agent(用户代理):标识了发起请求的客户端应用程序的信息,包括操作系统、浏览器版本等。
6.Accept(接受内容类型):指定了客户端能够接受的响应内容的类型。
7.Content-Type(内容类型):指定了请求体中发送的数据的类型。
8.Authorization(授权信息):用于在请求中传递授权凭证,以便客户端进行身份验证。
9.Cookie(HTTP Cookie):用于在请求中传递保存在客户端的会话信息。
添加请求头
给所有的请求添加请
private void button1_Click(object sender, EventArgs e)
{
// 给所有的请求添加请求头,以后所有请求里面都有这些字段
HTTP.Client.DefaultRequestHeaders.Add("tongXingZheng", "ZhiYouDaShuai");// 添加了键为tongXingZheng,值为123456的请求头
HTTP.Client.DefaultRequestHeaders.Add("name", "zhangsan");
HTTP.Client.DefaultRequestHeaders.Add("psw", "123456");
}
单独添加请求头
// 单独添加请求头
private async void button2_Click(object sender, EventArgs e)
{
// 1 设置HttpRequestMessage对象
var request = new HttpRequestMessage(HttpMethod.Get, "http://192.168.113.74:3000/shop");
// 2 添加请求头
request.Headers.Add("test","123456"); // 单独添加请求头
// 3 发送请求获取响应
var res = await HTTP.Client.SendAsync(request);
// 4 获取数据
string data = await res.Content.ReadAsStringAsync();
Console.WriteLine(data);
}
请求体
请求体(RequestBody)是在HTTP协议中用于传输客户端向服务器发送的数据的部分。它是HTTP请求中可选的组成部分,用于向服务器传递请求所需的参数、内容或者数据。请求体通常出现在POST、PUT等请求方法中,用于发送客户端的数据给服务器。请求体可以包含各种类型的数据,如表单数据、JSON数据、文件等。具体的数据类型由请求头中的Content-Type字段来指定。
常见的请求体格式有以下几种:
1.表单数据(application/x-www-form-urlencoded):将请求参数按照key-value的形式进行编码,以便传输。
2.JSON数据(application/json):将请求参数以JSON格式进行编码,用于传递结构化的数据。
3.文件上传(multipart/form-data):用于向服务器上传文件,请求体中包含了文件的二进制数据和相关的元数据。