HTTP状态码分类和列表

HTTP状态码

当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP状态码的信息头(server header)用以响应浏览器的请求。

HTTP状态码的英文为 HTTP Status Code 下面是常见的 HTTP状态码:

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它 URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

HTTP状态码分类

HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,后两个数字没有分类的作用。HTTP状态码共分为5种类型:

类型分类描述
1**信息,服务器收到请求,需要请求者继续执行操作
2**成功,操作被成功接收并处理
3**重定向,需要进一步的操作以完成请求
4**客户端错误,请求包含语法错误或无法完成请求
5**服务器错误,服务器在处理请求的过程中发生了错误

HTTP状态码列表

HTTP状态码状态码英文名称中文描述
100Continue继续。客户端应继续其请求
101Switching Protocols切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到 HTTP的新版本协议
200OK请求成功。一般用于 GET与 POST请求
201Created已创建。成功请求并创建了新的资源
202Accepted已接受。已经接受请求,但未处理完成
203Non-Authoritative Information非授权信息。请求成功。但返回的 meta信息不在原始的服务器,而是一个副本
204No Content无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205Reset Content重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206Partial Content部分内容。服务器成功处理了部分 GET请求
300Multiple Choices多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301Moved Permanently永久移动。请求的资源已被永久的移动到新 URI,返回信息会包括新的 URI,浏览器会自动定向到新 URI。今后任何新的请求都应使用新的 URI代替
302Found临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有 URI
303See Other查看其它地址。与301类似。使用 GET和 POST请求查看
304Not Modified未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305Use Proxy使用代理。所请求的资源必须通过代理访问
306Unused已经被废弃的 HTTP状态码
307Temporary Redirect临时重定向。与302类似。使用 GET请求重定向
400Bad Request客户端请求的语法错误,服务器无法理解
401Unauthorized请求要求用户的身份认证
402Payment Required保留,将来使用
403Forbidden服务器理解请求客户端的请求,但是拒绝执行此请求
404Not Found服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置“您所请求的资源无法找到”的个性页面
405Method Not Allowed客户端请求中的方法被禁止
406Not Acceptable服务器无法根据客户端请求的内容特性完成请求
407Proxy Authentication Required请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408Request Time-out服务器等待客户端发送的请求时间过长,超时
409Conflict服务器完成客户端的 PUT请求是可能返回此代码,服务器处理请求时发生了冲突
410Gone客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411Length Required服务器无法处理客户端发送的不带 Content-Length的请求信息
412Precondition Failed客户端请求信息的先决条件错误
413Request Entity Too Large由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个 Retry-After的响应信息
414Request-URI Too Large请求的 URI过长(URI通常为网址),服务器无法处理
415Unsupported Media Type服务器无法处理请求附带的媒体格式
416Requested range not satisfiable客户端请求的范围无效
417Expectation Failed服务器无法满足 Expect的请求头信息
500Internal Server Error服务器内部错误,无法完成请求
501Not Implemented服务器不支持请求的功能,无法完成请求
502Bad Gateway充当网关或代理的服务器,从远端服务器接收到了一个无效的请求
503Service Unavailable由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的 Retry-After头信息中
504Gateway Time-out充当网关或代理的服务器,未及时从远端服务器获取请求
505HTTP Version not supported服务器不支持请求的 HTTP协议的版本,无法完成处理
<think>好的,用户现在问的是关于HTTP状态码的详细解释。之前他们问过深度学习中的CNN、RNNGAN,现在突然转到HTTP状态码,可能他们的学习领域有变化,或者需要应对不同的任务,比如开发网站或API。 首先,我需要确认用户的需求是什么。HTTP状态码是Web开发中的基础知识,可能用户是刚开始学习后端开发,或者遇到了相关的错误需要排查。比如,他们可能在开发一个网站时遇到了404或500错误,想了解具体原因。 接下来,用户可能需要的不仅仅是状态码列表,而是每个类别的解释常见例子,以及实际应用中的注意事项。比如,301302重定向的区别,或者503服务不可用时的处理方法。此外,用户可能想知道如何在实际开发中正确使用这些状态码,比如RESTful API设计中的最佳实践。 还要考虑用户可能的背景。之前的问题关于深度学习,现在转向Web开发,可能用户是学生或者跨领域的学习者,正在扩展知识面。因此,解释需要保持简洁明了,避免过于技术化的术语,同时提供实际例子帮助理解。 另外,需要检查是否有常见的误解需要澄清。比如,403404的区别,或者500错误的具体原因。可能用户在使用某些API时遇到了问题,需要根据状态码进行调试,这时候详细的分类例子会很有帮助。 最后,要确保信息准确无误,涵盖主要的HTTP状态码类别,如1xx到5xx,每个类别的作用,以及最常用的状态码如200、404、500等。同时,可以加入一些实用建议,比如开发中如何正确设置状态码,或者遇到特定状态码时的处理步骤。HTTP</think>状态码是服务器对客户端请求的标准化响应标识,用于快速传达请求处理结果。它们由三位数字组成,首位数字定义类别,后两位细化具体状态。以下是主要分类及常见状态码解析: --- ### **1xx(信息响应)——请求已被接收,继续处理** - **100 Continue** 客户端应继续发送请求剩余部分(常用于大文件上传前的预检)。 - **101 Switching Protocols** 服务器同意切换协议(如从HTTP升级到WebSocket)。 --- ### **2xx(成功)——请求被正确处理** - **200 OK** 最普遍的响应,请求成功且返回预期数据(如网页加载成功)。 - **201 Created** 资源创建成功(常见于POST请求后,如新建用户返回ID)。 - **204 No Content** 请求成功但无返回内容(如DELETE操作成功)。 --- ### **3xx(重定向)——需要进一步操作以完成请求** - **301 Moved Permanently** 资源永久重定向(SEO权重会转移至新URL)。 - **302 Found** 资源临时重定向(浏览器默认行为:地址栏不变,但访问新地址)。 - **304 Not Modified** 资源未修改,客户端可使用缓存(通过`If-Modified-Since`头部触发)。 --- ### **4xx(客户端错误)——请求存在问题** - **400 Bad Request** 通用客户端错误(如请求语法错误、JSON格式错误)。 - **401 Unauthorized** 未认证(需提供有效凭证,如登录态失效)。 - **403 Forbidden** 无权限访问(如用户尝试访问管理员后台)。 - **404 Not Found** 资源不存在(URL路径错误或资源已删除)。 - **429 Too Many Requests** 请求频率超限(防爬虫或DDoS攻击的限流响应)。 --- ### **5xx(服务器错误)——服务器处理失败** - **500 Internal Server Error** 通用服务器错误(如代码未处理的异常)。 - **502 Bad Gateway** 网关/代理服务器从上游服务器收到无效响应(常见于反向代理配置错误)。 - **503 Service Unavailable** 服务不可用(服务器过载或维护中,可配合`Retry-After`头部提示重试时间)。 - **504 Gateway Timeout** 网关超时(上游服务器未及时响应,如数据库查询超时)。 --- ### **关键使用场景与注意事项** 1. **API设计** RESTful API应精准匹配状态码(如创建资源用201而非200,删除成功用204)。 2. **SEO优化** 永久移动(301)保留搜索引擎权重,临时重定向(302)不传递权重。 3. **错误排查** - 4xx错误优先检查客户端请求格式、权限URL。 - 5xx错误需检查服务器日志(如数据库连接、代码异常)。 4. **安全防护** 避免返回详细错误信息(如500错误暴露服务器路径),防止信息泄露。 --- ### **经典案例解析** - 访问不存在的URL → **404** - 未登录用户访问个人中心 → **401** - CDN节点无法连接源站 → **504** 掌握状态码可快速定位问题,提升开发调试效率,也是构建高可用Web服务的基础知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十有久诚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值