计算机网络--应用层--3.3*--HTTP--HTTP 状态码
状态码的类别-类别原因短语1XXInformational(信息性状态码)接收的请求正在处理2XXSuccess(成功状态码)请求正常处理完毕3XXRedirection(重定向状态码)需要进行附加操作以完成请求4XXClient Error(客户端错误状态码)服务器无法处理请求5XXServer Error(服务器错误状态码)服务器处理请求出错以下介绍一些经常使用的状态码。1 1XX 临时响应状

状态码的类别
| - | 类别 | 原因短语 |
|---|---|---|
| 1XX | Informational(信息性状态码) | 接收的请求正在处理 |
| 2XX | Success(成功状态码) | 请求正常处理完毕 |
| 3XX | Redirection(重定向状态码) | 需要进行附加操作以完成请求 |
| 4XX | Client Error(客户端错误状态码) | 服务器无法处理请求 |
| 5XX | Server Error(服务器错误状态码) | 服务器处理请求出错 |
![]() |
||
| 以下介绍一些经常使用的状态码。 |
1 1XX 临时响应
| 状态码 | 状态名 | 说明 |
|---|---|---|
| 100 | Continue 继续 |
请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 |
| 101 | Switching Protocols 切换协 |
请求者已要求服务器切换协议,服务器已确认并准备切换。 |
2 2XX 成功
2XX 的响应结果表明请求被正常处理了。
| 状态码 | 状态名 | 说明 |
|---|---|---|
| 200 | OK 成功 |
服务器已成功处理了请求。 |
| 204 | No Content 无内容 |
服务器成功处理了请求,但没有返回任何内容。 |
| 206 | Partial Content 部分内容 |
服务器成功处理了部分 GET 请求。 |
HTTP状态码中的204和206分别表示:
204 No Content:
- 当服务器成功处理了请求,但不需要返回任何内容时,会返回状态码204 No Content。
- 这通常发生在处理POST请求时,服务器已经成功处理了请求,但在响应中不需要返回任何实体内容。
- 204状态码通常用于AJAX请求或表单提交后的处理,告诉客户端请求已经成功处理,但不需要更新页面内容。
206 Partial Content:
- 当客户端发送一个带有Range头部的请求时,请求服务器返回部分内容时,服务器会返回状态码206 Partial Content。
- 这通常用于客户端请求大文件的部分内容,如视频或音频文件,客户端可以分段请求文件的不同部分,服务器会相应地返回这些部分内容。
- 206状态码包含一个或多个Range头部字段,指示服务器返回的实体内容的范围。
- 206状态码允许客户端在下载大文件时,分段请求文件的不同部分,从而支持断点续传或多线程下载等功能。
简而言之,204表示服务器已成功处理请求但不需要返回任何内容,而206表示服务器已经返回了请求的部分内容。
3 3XX 重定向
3XX 响应结果表明浏览器需要执行某些特殊的处理以正确处理请求。
| 状态码 | 状态名 | 说明 |
|---|---|---|
| 301 | Moved Permanently 永久移动 |
请求的网页已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。浏览器收到301状态码后,会把原本请求的网址自动替换成新的网址,并将这个新网址缓存起来,以后再次访问这个网址时都会直接跳转到新的地址。 |
| 302 | Found 临时移动 |
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。浏览器收到302状态码后,会把原本请求的网址替换成新的网址,但不会缓存这个新网址,下次再次访问时仍然会请求原本的网址。 |
| 303 | See Other 查看其他位置 |
请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。 |
| 304 | Not Modified 未修改 |
自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。 |
| 307 | temporary Redirect 临时重定向 |
服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。 |
3.1 301 Moved Permanently


301:代表永久重定向,也就是说第一次请求拿到长链接后,下次浏览器再去请求短链的话,不会向短网址服务器请求了,而是直接从浏览器的缓存里拿,这样在 server 层面就无法获取到短网址的点击数了,如果这个链接刚好是某个活动的链接,也就无法分析此活动的效果。所以我们一般不采用 301。
3.2 302 Found



302:代表临时重定向,也就是说每次去请求短链都会去请求短网址服务器(除非响应中用 Cache-Control 或 Expired 暗示浏览器缓存),这样就便于 server 统计点击数,所以虽然用 302 会给 server 增加一点压力,但在数据异常重要的今天,这点代码是值得的,所以推荐使用 302!
3.3 303 See Other


3.4 304 Not Modified

3.7 307 Temporary Redirect

4 4XX 客户端错误
4XX 的响应结果表明客户端是发生错误的原因所在。
| 状态码 | 状态名 | 说明 |
|---|---|---|
| 400 | Bad Request 错误请求 |
服务器不理解请求的语法。服务器无法理解客户端的请求,因为请求报文中有语法错误或参数无效。HTTP 请求本质上是一段纯文本,它有严格的结构。1 请求行:包含方法、URL、HTTP 版本;2 请求头:一堆键值对,描述元数据(如主机、内容类型、长度等);3 请求体:可选数据(通常在 POST、PUT 等请求中携带)。实际场景:你手写 HTTP 请求通过 telnet 连接,打错了命令。 |
| 401 | Unauthorized 未授权 |
请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。 |
| 403 | Forbidden 禁止 |
服务器拒绝请求,没有权限访问当前请求的资源。 |
| 404 | Not Found 未找到 |
服务器找不到请求的网页。 |
| 405 | Method Not Allowed 方法禁用 |
禁用请求中指定的方法。 |
| 412 | Precondition Failed 未满足前提条件 |
服务器未满足请求者在请求中设置的其中一个前提条件。 |
| 417 | Expectation Failed 未满足期望值 |
服务器未满足"期望"请求标头字段的要求. |
4.0 400 Bad Request

4.1 401 Unauthorized


4.3 403 Forbidden

4.4 404 Not Found


4.5 405 Method Not Allowed
pass
4.12 412 Precondition Failed
pass
4.17 417 Expectation Failed
pass
5 5XX 服务器错误
5XX 的响应结果表明服务器本身发生错误。
| 状态码 | 状态名 | 说明 |
|---|---|---|
| 500 | Internal Server Error 服务器内部错误 |
服务器遇到错误,无法完成请求。 |
| 501 | Not Implemented 尚未实施 |
服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。 |
| 502 | Bad Gateway 错误网关 |
服务器作为网关或代理,从上游服务器收到无效响应。 |
| 503 | Service Unavailable 错误网关 |
服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。 |
| 504 | Gateway Timeout 网关超时 |
服务器作为网关或代理,但是没有及时从上游服务器收到请求。 |
| 505 | HTTP Version Not Supported HTTP 版本不受支持 |
服务器不支持请求中所用的 HTTP 协议版本。 |
5.0 500 Internal Server Error

5.1 501 Not Implemented
pass
5.2 502 Bad Gateway
pass
5.3 503 Service Unavailable

5.4 504 Gateway Timeout
pass
5.5 505 HTTP Version Not Supported
pass
[图片源于《图解HTTP》]
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐


所有评论(0)