当前位置: 首页 > news >正文

HTTP状态码有哪些常见的类型?

HTTP 状态码用于表示服务器对客户端请求的响应状态,常见的 HTTP 状态码可以分为以下几类:

一、1xx:信息提示

状态码以 1 开头,表示请求已接收,客户端应继续其请求。常见的状态码有:

• 100 Continue:表示服务器已收到请求的初始部分,客户机应继续发送请求的剩余部分。该状态码通常用于客户端分段上传文件的场景,服务器在收到每一段数据后,会返回 100 表示继续上传。

• 101 Switching Protocols:表示服务器理解客户端的请求,并且正在切换协议以完成请求。例如,在服务器同意客户端的升级请求,如从 HTTP 升级到 WebSocket 协议时,会返回这个状态码。

二、2xx:成功

状态码以 2 开头,表示客户端的请求被成功接收、理解和接受。

• 200 OK:这是最常见的成功状态码,表示客户端的请求已成功被服务器接收、理解并接受。它表示请求所希望的资源已被成功获取,并且在响应正文中返回给客户端。例如,当用户请求一个 HTML 页面时,服务器成功返回该页面内容,就会返回 200 状态码。

• 201 Created:表示请求成功并且服务器已经创建了新的资源。通常是在客户端发送 POST 请求创建新资源后,服务器返回这个状态码,并在响应头中通过 Location 字段指定新创建资源的 URI。例如,当用户在博客平台上发布一篇新文章,服务器成功创建文章后,就会返回 201 状态码。

• 202 Accepted:表示请求已被接受进行处理,但处理尚未完成。它通常用于异步操作的场景,服务器接收了请求,但需要一些时间来处理,客户端可以在后续请求中查询处理结果。例如,当用户提交一个长时间运行的任务时,服务器会立即返回 202 状态码,并提供一个用于查询任务状态的 URI。

• 204 No Content:表示服务器成功处理了请求,但没有返回任何内容。这种情况通常发生在客户端发送了一个请求,希望服务器执行某些操作,但不需要返回任何数据。例如,当客户端请求服务器删除某个资源,服务器成功删除后,就可以返回 204 状态码。

三、3xx:重定向

状态码以 3 开头,表示为了完成请求,客户端需要进一步进行操作,通常需要客户端重新发送请求。

• 301 Moved Permanently:表示请求的资源已被永久移动到新的 URI,客户端应该使用新的 URI 发送请求。这个状态码通常用于网站的永久重定向,例如当网站的域名发生了变更,或者页面的 URL 被永久更改时,服务器会返回 301 状态码,并在响应头中指定新的 URI。

• 302 Found:这是最常见的重定向状态码之一,表示请求的资源临时移动到另一个 URI。与 301 不同,客户端应该使用新的 URI 重新发送请求,但会保持原来的请求方法和消息主体。通常用于页面的临时重定向,例如在网站维护期间,将用户引导到一个临时页面。

• 304 Not Modified:表示客户端请求的资源未被修改,客户端可以继续使用本地缓存的版本。当客户端发送请求并且请求头中包含 If-Modified-Since 或 If-None-Match 等条件请求头时,服务器会检查资源是否被修改。如果没有被修改,就返回 304 状态码,客户端可以直接使用缓存的资源,从而节省了传输资源的时间。

四、4xx:客户端错误

状态码以 4 开头,表示客户端的请求有错误,服务器无法处理该请求。

• 400 Bad Request:表示客户端的请求语法错误或请求参数不完整,服务器无法理解该请求。例如,当客户端发送的请求消息格式不正确,或者缺少必要的请求参数时,服务器会返回 400 状态码。

• 401 Unauthorized:表示请求未授权,客户端需要提供身份验证信息。通常发生在客户端尝试访问受保护的资源,但没有提供有效的身份验证凭据时。服务器会返回 401 状态码,并在响应头中包含 WWW-Authenticate 字段,指定支持的身份验证方案。

• 403 Forbidden:表示服务器理解请求但拒绝执行,通常是因为客户端没有足够的权限访问请求的资源。与 401 不同,403 表示身份验证已经完成,但服务器拒绝授权访问。例如,当用户尝试访问一个受权限限制的页面,但用户没有相应的权限时,服务器返回 403 状态码。

• 404 Not Found:这是最常见的客户端错误状态码之一,表示服务器未找到请求的资源。当客户端请求的页面或资源在服务器上不存在时,服务器会返回 404 状态码。这可能是由于用户输入了错误的 URL,或者请求的资源已被删除。

五、5xx:服务器错误

状态码以 5 开头,表示服务器在处理请求时发生了错误。

• 500 Internal Server Error:这是最常见的服务器错误状态码,表示服务器内部发生了错误,无法完成请求。这可能是由于服务器的配置错误、应用程序的异常或服务器的其他内部问题导致的。

• 501 Not Implemented:表示服务器不支持请求方法或功能。当客户端请求使用了服务器不支持的方法(如 PUT、DELETE 等)或功能时,服务器返回这个状态码。

• 502 Bad Gateway:表示服务器作为网关或代理时,从上游服务器收到了无效的响应。这通常发生在服务器作为反向代理或网关时,与后端服务器通信出现故障或接收到无效的响应时。

• 503 Service Unavailable:表示服务器当前无法处理请求,通常是由于服务器过载或维护等原因。这种情况下,客户端可以在一段时间后重试请求。

• 504 Gateway Timeout:表示服务器作为网关或代理时,没有及时从上游服务器收到响应。这表示服务器在等待后端服务器响应时超时了,可能是因为后端服务器处理请求过慢或网络故障等原因引起的。

了解这些常见的 HTTP 状态码有助于开发人员更好地理解客户端与服务器之间的通信过程,以及在开发和调试 Web 应用时准确地处理各种请求和响应情况。


http://www.mrgr.cn/news/99370.html

相关文章:

  • 【Pandas】pandas DataFrame div
  • python数据分析(二):Python Pandas索引技术详解
  • Protues8.11安装只需5步骤即可。
  • ASP.Net Web Api如何更改URL
  • 搜索策略的基本概念
  • 【Pandas】pandas DataFrame truediv
  • Git远程操作
  • Sentinel源码—8.限流算法和设计模式总结二
  • 【MATLAB第117期】#源码分享 | 基于MATLAB的SSM状态空间模型多元时间序列预测方法(多输入单输出)
  • win10中打开python的交互模式
  • 【白雪讲堂】[特殊字符]内容战略地图|GEO优化框架下的内容全景布局
  • Windows 同步-互锁变量访问
  • Java从入门到“放弃”(精通)之旅——抽象类和接口⑨
  • 发布一个npm包,更新包,删除包
  • redis数据类型-位图bitmap
  • 【Linux】线程ID、线程管理、与线程互斥
  • cnn 吴恩达 笔记 锚框+yolo 图像分割 +反卷积 unet
  • [密码学实战]详解gmssl库与第三方工具兼容性问题及解决方案
  • [密码学基础]GB与GM国密标准深度解析:定位、差异与协同发展
  • [密码学基础]密码学发展简史:从古典艺术到量子安全的演进