HTTP常见状态码总结

HTTP状态码表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常或者是出现的错 误,能够根据返回的状态码判断请求是否得到正确的处理很重要。 状态码由3位数字和原因短语组成,例如下图所示:
在这里插入图片描述
数字中的第⼀位指定了响应类别,后两位⽆分类,响应类别有⼀下5种:

状态码分类表

在这里插入图片描述

const codeMessage = {
    200: '服务器成功返回请求的数据。',
    201: '新建或修改数据成功。',
    202: '一个请求已经进入后台排队(异步任务)。',
    204: '删除数据成功。',
    400: '发出的请求有错误,服务器没有进行新建或修改数据的操作。',
    401: '用户没有权限(令牌、用户名、密码错误)。',
    403: '用户得到授权,但是访问是被禁止的。',
    404: '发出的请求针对的是不存在的记录,服务器没有进行操作。',
    406: '请求的格式不可得。',
    410: '请求的资源被永久删除,且不会再得到的。',
    422: '当创建一个对象时,发生一个验证错误。',
    500: '服务器发生错误,请检查服务器。',
    502: '网关错误。',
    503: '服务不可用,服务器暂时过载或维护。',
    504: '网关超时。',
};

各类别常⻅状态码:
2xx (3种)
200 OK:服务器成功返回请求的数据;
204 No Content:⽆内容。服务器成功处理,但未返回内容;
206 Patial Content:部分内容。服务器成功处理了部分GET请求。类似于 FlashGet 或者迅雷这 类的 HTTP 下载⼯具都是使⽤此类响应实现断点续传或者将⼀个⼤⽂档分解为多个下载段同时下 载。该请求必须包含 Range 头信息来指示客户端希望得到的内容范围,并且可能包含 If-Range
来作为请求条件。
3xx (5种)
301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使⽤更改 的URL;
302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使⽤新的URL;
301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)
303 See Other:表示请求的资源被分配了新的URL,应使⽤GET⽅法定向获取请求的资源;
302与303的区别:后者明确表示客户端应当采⽤GET⽅式获取资源
304 Not Modified:表示客户端发送附带条件(是指采⽤GET⽅法的请求报⽂中包含if-Match、IfModified-Since、If-None-Match、If-Range、If-Unmodified-Since中任⼀⾸部)的请求时,服务器 端允许访问资源,但是请求为满⾜条件的情况下返回改状态码;
307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从
POST变成GET;(不同浏览器可能会出现不同的情况);
4xx (4种)
400 Bad Request:表示请求报⽂中存在语法错误;
401 Unauthorized:⽤户没有权限,需要⽤户验证;
403 Forbidden:服务器已经理解请求,但是拒绝此次访问(访问权限出现问题)
404 Not Found:表示服务器上⽆法找到请求的资源,除此之外,也可以在服务器拒绝请求但不 想给拒绝原因时使⽤;
5xx (2种)
500 Inter Server Error:表示服务器发⽣错误。
503 Server Unavailable:表示服务器暂时处于超负载或正在进⾏停机维护,⽆法处理请求。

<think>嗯,用户想了解常见HTTP状态码。首先,我需要回忆一下HTTP状态码的基本分类,比如1xx到5xx各自代表什么类型的状态。1xx是信息响应,2xx是成功,3xx重定向,4xx客户端错误,5xx服务器错误。然后,每个类别里有哪些常见的具体状态码呢? 比如,200是成功,这应该是最常见的。301和302是重定向,304未修改,可能用于缓存。客户端错误方面,400错误请求,401未授权,403禁止访问,404找不到资源,这些都很常见服务器错误的话,500内部服务器错误,502网关错误,503服务不可用,504网关超时。 接下来要考虑如何组织这些信息,让用户容易理解。可能需要按类别分开,每个类别下列举几个常见状态码,并简要说明它们的含义和使用场景。同时要注意用中文,结构清晰,避免使用专业术语过多,必要时举例说明。 还要检查是否符合用户给的系统级指令,比如数学公式的格式是否正确,但这个问题可能不涉及数学内容,所以可能不需要处理。但还是要确保LaTeX语法正确,如果有用到的话。不过这里应该用不到,所以重点在状态码的解释。 另外,用户可能需要实际例子或场景来帮助理解每个状态码的意义,比如什么时候会遇到404,或者503和504的区别是什么。需要确保解释准确,同时避免错误的信息。例如,301是永久重定向,302是临时重定向,这个要正确区分。 可能还需要提到一些不太常见但重要的状态码,比如418(I'm a teapot)作为彩蛋,但可能用户更关注实际常用的,所以是否加入要看是否有必要。或者像429太多请求,属于客户端错误,但用户可能想知道。 最后,确保回答结构清晰,分点说明每个类别,每个状态码单独列出,用简洁的语言解释。可能还需要总结一下遇到这些状态码时应该如何处理,比如遇到404检查URL,500联系管理员等。但用户的问题主要是介绍,所以可能不需要深入解决方案,但简要提及可能有帮助。 现在需要把这些整理成一个连贯的回答,确保每个部分逻辑顺畅,信息准确,符合用户的要求。</think>常见HTTP状态码用于表示客户端与服务器之间请求和响应的状态。以下是按类别划分的常见状态码及其含义: --- ### **1xx(信息响应)** 表示请求已被接收,需要继续处理。 - **100 Continue**:客户端应继续发送请求的剩余部分(通常用于大文件上传前的确认)。 --- ### **2xx(成功)** 表示请求已成功被服务器接收、理解并处理。 - **200 OK**:请求成功,返回所需内容(如网页、数据)。 - **201 Created**:请求已成功,并在服务器创建了新资源(常见于POST请求)。 - **204 No Content**:请求成功,但响应中无返回内容(如删除操作成功)。 --- ### **3xx(重定向)** 表示需要客户端进一步操作以完成请求。 - **301 Moved Permanently**:资源已永久移动到新URL(浏览器会自动缓存新地址)。 - **302 Found**:资源临时重定向到新URL(后续请求可能继续访问原地址)。 - **304 Not Modified**:资源未修改,客户端可使用本地缓存(用于缓存优化)。 --- ### **4xx(客户端错误)** 表示请求包含错误或无法完成。 - **400 Bad Request**:请求语法错误(如参数格式错误)。 - **401 Unauthorized**:需身份验证(如未登录时访问受限资源)。 - **403 Forbidden**:服务器拒绝请求(如权限不足)。 - **404 Not Found**:请求的资源不存在(如URL拼写错误)。 - **429 Too Many Requests**:客户端发送请求过多(常见于限流场景)。 --- ### **5xx(服务器错误)** 表示服务器处理请求时发生错误。 - **500 Internal Server Error**:服务器内部错误(如代码异常)。 - **502 Bad Gateway**:服务器作为网关时,从上游服务器收到无效响应(如反向代理问题)。 - **503 Service Unavailable**:服务器暂时不可用(如维护或过载)。 - **504 Gateway Timeout**:服务器作为网关时,未及时收到上游响应(如网络延迟)。 --- ### **常见场景与处理建议** - **200/201**:正常状态,无需处理。 - **301/302**:检查是否需要更新URL,或遵循重定向。 - **400/401**:验证请求参数或登录状态。 - **403/404**:确认权限或检查资源是否存在。 - **500/503**:联系服务提供方排查服务器问题。 HTTP状态码是调试网络请求的重要工具,理解其含义可帮助快速定位问题来源。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值