13426109659
info@21cto.com

你应该知道的 HTTP 状态码

作者 Admin 分类 资讯 07月15日
每当客户端向服务器发送请求时,响应总是包含一个状态代码。用户侧可能不会看到它,而开发者通过抓包则可以看到它,它会在每次客户端-服务器交互时返回。
 
即使不是程序员,你也许会知道 404 Not Found 错误。
 

 

在本文中,我们将讨论有关 HTTP 及其响应状态代码的所有内容。你可以将此视为一个小备忘单,供每次遇到时参考。

 

本文将涵盖的内容:

 

1.什么是 HTTP?

2. 什么是状态码?
3. 1XX - 信息码
4. 2XX - 成功码
5. 3XX - 重定向码
6. 4XX - 客户端错误码
7. 5XX - 服务器错误码

 

让我们现在就就开始。

 

 

什么是 HTTP?

 

HTTP 代表超文本传输协议。根据维基百科的定义:

超文本传输协议是分布式、协作、超媒体信息系统的应用层协议。

HTTP 是一种客户端-服务器协议,充当 Web 上任何数据交换的基础。客户端和服务器之间的每次交互都称为消息。HTTP 消息是请求或响应。客户端设备向服务器提交 HTTP 请求,服务器通过将 HTTP 响应发送回客户端进行回复。

 

什么是状态码?

 

在每次客户端请求时,服务器都会用一个代码进行响应,该代码有助于传达请求的状态。这是一种无需投资响应主体即可检查请求是否成功的快速方法。

 

这些代码由表示 Web 元素状态的三个数字组成。基本上有五个标准组,状态码分为五个标准组,它们可以通过代码的第一位数字来识别。如下:

 

  1. 1XX - 信息代码

  2. 2XX - 成功代码

  3. 3XX - 重定向代码

  4. 4XX - 客户端错误代码

  5. 5XX - 服务器错误代码

 

让我们先简要地看一下每个组,并讨论最常见的状态代码。

 

1XX - 信息响应

信息性响应表明请求已被接收并被理解。它是在请求处理继续时临时发布的。

100 - 继续:服务器已收到请求标头,客户端应继续发送请求正文。它表明客户端请求良好并且正在处理。

101 - Switching Protocols : 请求者要求服务器切换协议,服务器同意切换。基本上,请求可能涉及文件操作,需要很长时间才会完成请求。

102 - Processing:此代码表示服务器已接收并正在处理请求,但尚无可用响应。

103 - Early Hints:用于在最终 HTTP 消息之前返回一些响应标头。

2XX - 成功

此类状态代码表示客户端请求的操作已被接收、理解和接受。

200 - OK:成功 HTTP 请求的标准响应。一切正常,请求的资源已经通过消息体返回。

201 - Created:请求已完成,导致创建新资源并且服务器已确认。

202 - Accepted:此代码表示服务器已收到并正在处理请求,但尚无可用响应。

204 - No Content:服务器成功处理了请求,并且没有返回任何内容。通常,PUT 方法用于 204 响应。

3XX - 重定向

这组状态码表示客户端必须采取额外的动作来完成请求。

301 - Moved Permanently:这表示 URL 已经被一劳永逸地移动了。这用于通知浏览器所请求的文件已被移动,并可用于从不再存在的页面重定向。

305 - 使用代理:请求的资源只能通过代理获得,其地址在响应中提供。

307 - 临时重定向:在这种情况下,响应代码指示请求的资源已临时移动到另一个 URI。但是,未来的请求仍应使用原始 URI。

4XX - 客户端错误

此类状态代码适用于错误似乎是由客户端引起的情况。

400 - Bad Request:由于错误的语法导致错误,服务器无法或不会处理请求。

401 - Unauthorized:响应类似于403 Forbidden,但专门用于需要身份验证但已失败或尚未提供的情况。请求的文件可以是受保护的文件。

403 - Forbidden : 请求包含有效数据并且被服务器理解,但服务器拒绝操作。服务器可能无权与客户端共享文件。

404 - Not Found:请求的资源找不到或不存在,但将来可能可用。

405 - Method Not Allowed:请求的资源不支持请求方法;例如,对只读资源的 PUT 请求。

414 URI Too Long:提供的 URI 过长,服务器无法处理,因为太多数据被编码为 GET 请求的查询字符串。

429 Too Many Requests:用户在给定时间内发送了太多请求,有助于提高安全性。

5XX - 服务器错误

当客户端提出有效请求时,您可能会遇到服务器错误,服务器无法满足请求。

500 - 内部服务器错误:当遇到与任何其他类错误不匹配的意外情况时显示的错误消息。

501 - 未实现:服务器要么无法识别请求方法,要么无法完成请求。

502 - Bad Gateway:服务器充当网关,并在发出请求时收到来自服务器的无效响应。

503 - 服务不可用:服务器无法处理请求,因为它过载或停机维护。

 

以上是本文的全部内容。

 

如果觉得这篇文章有用,请给本文点赞,并转发给好友,它会鼓励更多开发者写出更多好文章~

 

作者:万能的大雄

 

评论