首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >HTTP数据格式

HTTP数据格式

原创
作者头像
Heaven645
发布2024-11-21 00:29:47
发布2024-11-21 00:29:47
4600
举报

前言

HTTP 是 Web 通信的基础协议,它规定了客户端和服务器之间如何交换数据。在一次 HTTP 请求中,数据的格式主要分为三部分:请求行、请求头和请求体。

1 请求行(Request Line)

请求行是 HTTP 请求数据的第一行,包含了请求的资源路径、请求方法和协议版本。

常见的请求方法有:

  • GET:请求指定的资源。GET 请求通常用于获取数据。
  • POST:向指定资源提交数据。POST 请求通常用于提交表单或上传文件。

【示例】

GET / HTTP/1.1 表示使用 GET 请求方法请求根路径资源,协议版本为 HTTP/1.1。

2 请求头(Request Headers)

请求头包含额外的信息,用来描述客户端的请求或说明如何处理请求。

常见的请求头有:

  • Host:指定请求的主机名,例如 Host: www.itcast.cn
  • User-Agent:浏览器或客户端的版本信息,标识请求来源的客户端类型,如 Mozilla/5.0 Chrome/91.0
  • Accept:指定浏览器可以接收的资源类型,如 text/*,image/*或者*/*表示所有。
  • Accept-Language:指定浏览器偏好的语言类型,服务器可以据此返回不同语言的网页。
  • Accept-Encoding:指定浏览器可以接收的压缩类型,如 gzip,deflate

3 请求体(Request Body)

请求体通常用于 POST 请求中,包含了请求的参数数据。例如,表单提交的内容、文件等都可以通过请求体传递。GET 请求不包含请求体

【GET 请求与 POST 请求的区别】

特性

GET 请求

POST 请求

参数传递方式

参数在 URL 中传递,包含在请求行中

参数在请求体中传递,不出现在 URL 中

数据大小限制

有大小限制,通常为 2048 字符

无大小限制,可以传递较大的数据

安全性

数据会显示在 URL 中,不适合传输敏感信息

数据在请求体中传递,较为安全,适合传输敏感数据

应用场景

适合用于获取数据,查询操作等

适合用于提交表单、上传文件等操作

4 请求示例

①GET 请求示例

代码语言:plaintext
复制
GET / HTTP/1.1
Host: www.itcast.cn
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 Chrome/91.0

②POST 请求示例

代码语言:plaintext
复制
POST / HTTP/1.1
Host: www.itcast.cn
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 Chrome/91.0

username=superbaby&password=123456

5 Http请求常见的状态码

状态码

名称

分类

描述

200

OK

成功

响应成功,表示服务器已成功处理请求,但不一定代表业务逻辑的成功。

201

Created

成功

请求成功,且资源已被创建(通常是 POST 请求)。

204

No Content

成功

请求成功,但没有返回任何内容(通常是删除操作)。

301

Moved Permanently

重定向

请求的资源已被永久移动到新的 URL,需使用新的 URL 访问。

302

Found

重定向

请求的资源临时移动到新的 URL,需暂时使用新的 URL 访问。

304

Not Modified

重定向

资源未修改,客户端可以使用缓存。

400

Bad Request

客户端错误

请求无效,服务器无法理解该请求(如语法错误)。

401

Unauthorized

客户端错误

未授权,客户端需要认证以获得资源访问权限。

403

Forbidden

客户端错误

禁止访问,客户端无权访问该资源。

404

Not Found

客户端错误

请求的资源未找到(资源不存在或 URL 错误)。

405

Method Not Allowed

客户端错误

请求的方法被禁止(如 GET 改为 POST)。

408

Request Timeout

客户端错误

请求超时,服务器未收到完整的请求数据。

500

Internal Server Error

服务端错误

服务器内部错误,无法完成请求。

501

Not Implemented

服务端错误

服务器不支持当前请求所需的功能。

502

Bad Gateway

服务端错误

网关或代理服务器从上游服务器收到无效响应。

503

Service Unavailable

服务端错误

服务器超负载或维护中,暂时无法处理请求。

504

Gateway Timeout

服务端错误

网关或代理服务器在等待上游服务器时超时。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1 请求行(Request Line)
  • 2 请求头(Request Headers)
  • 3 请求体(Request Body)
  • 4 请求示例
  • 5 Http请求常见的状态码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档