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

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.xdnf.cn/news/1172.html

相关文章:

  • 三网通电玩城平台系统结构与源码工程详解(四):子游戏集成与服务器调度机制全解
  • Spring AOP + Logback + MDC全链路日志追踪
  • 三线服务器通常适用于哪些用户?
  • GPIO(通用输入输出端口)详细介绍
  • 【T2I】TOKENCOMPOSE: Text-to-Image Diffusion with Token-level Supervision
  • 【2025最新面试Java八股】Java虚拟线程怎么回事,是协程吗?
  • 解决开启代理时无法正常使用Microsoft Store, OneDrive, Outlook等应用的问题
  • 构建“穿戴+云端”落水应急响应体系,为海上作业人员打造全天候、全场景的安全守护网
  • 三网通电玩城平台系统结构与源码工程详解(三):控制台与银商权限模块设计
  • 互联网大厂Java面试:从基础到进阶的技术点探讨
  • 108. 将有序数组转换为二叉搜索树
  • Python——入门... ...
  • 突破 RAG 检索瓶颈:Trae+MCP 构建高精度知识库检索系统实践
  • 嘻游组件解密工具实战教程:资源解包与UI替换全流程
  • 一目十行阅读法
  • 航电系统自适应与容错机制要点
  • Git ——提交至github,Vercel拉取,更新不了项目的问题解决
  • LOH 怎么进行深度标准化?
  • (15)VTK C++开发示例 --- 生成随机数的首选方法
  • 【读论文】HM-RAG:分层多智能体多模态检索增强生成
  • Spring Boot多环境配置详解
  • 通俗的理解TCP的三次握手四次挥手
  • Mysql的redolog
  • 【inlining failed in call to always_inline ‘_mm_aesenclast_si128’】
  • Python线程全面详解:从基础概念到高级应用
  • C++ 的 输入输出流(I/O Streams)
  • 课时一 平面机构的自由度与速度分析(上)
  • 学车经验2 倒库+欧卡2开车经验
  • Pandas基础学习分析处理nginx日志
  • MySql进阶