HTTP 是 Web 通信的基础协议,它规定了客户端和服务器之间如何交换数据。在一次 HTTP 请求中,数据的格式主要分为三部分:请求行、请求头和请求体。
请求行是 HTTP 请求数据的第一行,包含了请求的资源路径、请求方法和协议版本。
常见的请求方法有:
【示例】
GET / HTTP/1.1
表示使用 GET 请求方法请求根路径资源,协议版本为 HTTP/1.1。
请求头包含额外的信息,用来描述客户端的请求或说明如何处理请求。
常见的请求头有:
Host
:指定请求的主机名,例如 Host: www.itcast.cn
。User-Agent
:浏览器或客户端的版本信息,标识请求来源的客户端类型,如 Mozilla/5.0 Chrome/91.0
。Accept
:指定浏览器可以接收的资源类型,如 text/*
,image/*
或者*/*
表示所有。Accept-Language
:指定浏览器偏好的语言类型,服务器可以据此返回不同语言的网页。Accept-Encoding
:指定浏览器可以接收的压缩类型,如 gzip
,deflate
。请求体通常用于 POST 请求中,包含了请求的参数数据。例如,表单提交的内容、文件等都可以通过请求体传递。GET 请求不包含请求体。
【GET 请求与 POST 请求的区别】
特性 | GET 请求 | POST 请求 |
---|---|---|
参数传递方式 | 参数在 URL 中传递,包含在请求行中 | 参数在请求体中传递,不出现在 URL 中 |
数据大小限制 | 有大小限制,通常为 2048 字符 | 无大小限制,可以传递较大的数据 |
安全性 | 数据会显示在 URL 中,不适合传输敏感信息 | 数据在请求体中传递,较为安全,适合传输敏感数据 |
应用场景 | 适合用于获取数据,查询操作等 | 适合用于提交表单、上传文件等操作 |
①GET 请求示例
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 请求示例
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
状态码 | 名称 | 分类 | 描述 |
---|---|---|---|
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 删除。