在本文中,我们将讨论有关 HTTP 及其响应状态代码的所有内容。你可以将此视为一个小备忘单,供每次遇到时参考。
本文将涵盖的内容:
1.什么是 HTTP?
2. 什么是状态码? 3. 1XX - 信息码 4. 2XX - 成功码 5. 3XX - 重定向码 6. 4XX - 客户端错误码 7. 5XX - 服务器错误码
让我们现在就就开始。
什么是 HTTP?
HTTP 代表超文本传输协议。根据维基百科的定义:
超文本传输协议是分布式、协作、超媒体信息系统的应用层协议。
HTTP 是一种客户端-服务器协议,充当 Web 上任何数据交换的基础。客户端和服务器之间的每次交互都称为消息。HTTP 消息是请求或响应。客户端设备向服务器提交 HTTP 请求,服务器通过将 HTTP 响应发送回客户端进行回复。
什么是状态码?
在每次客户端请求时,服务器都会用一个代码进行响应,该代码有助于传达请求的状态。这是一种无需投资响应主体即可检查请求是否成功的快速方法。
这些代码由表示 Web 元素状态的三个数字组成。基本上有五个标准组,状态码分为五个标准组,它们可以通过代码的第一位数字来识别。如下:
-
1XX – 信息代码
-
2XX – 成功代码
-
3XX – 重定向代码
-
4XX – 客户端错误代码
-
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 – 服务不可用:服务器无法处理请求,因为它过载或停机维护。
以上是本文的全部内容。
如果觉得这篇文章有用,请给本文点赞,并转发给好友,它会鼓励更多开发者写出更多好文章~
作者:万能的大雄
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/258487.html