前端常用的状态码

常用状态码

常用状态码大家可以记一下,所有的也记不住,简洁几个字概括一下,方便大家进行记忆。

200 OK:请求成功

401 Unauthorized:未授权,未登录

403 Forbidde:已登录,但是对于一些接口或者资源没权限

405 Method Not Allowed:请求的方法不允许

404 Not Found:请求错误,未找到资源或者接口

500 Internal Server Error:服务端报错

504 Gateway Timeout:请求超时

详细点说

200 OK:请求成功

表示服务器成功处理了请求。例如,在发送 AJAX 请求时,如果收到 200 状态码,通常表示请求成功,可以继续处理响应数据。

400 Bad Request:错误请求

客户端发送的请求有错误,服务器无法理解。例如,提交表单时缺少必要的字段或者字段格式不正确,服务器可以返回 400 状态码,提示客户端请求错误。

401 Unauthorized:未授权,未登录

表示请求需要用户认证,但用户未提供有效的身份验证信息。这通常用于需要登录才能访问的资源,如果用户未登录或者登录信息无效,服务器会返回 401 状态码。

403 Forbidden:已登录,无权限

表示服务器理解请求,但拒绝执行。与 401 不同的是,403 表示服务器知道用户是谁,但是不允许访问所请求的资源。例如,用户没有足够的权限访问某个页面时,服务器可以返回 403 状态码。

404 Not Found:错误请求,未找到资源

表示请求的资源不存在。当客户端请求一个不存在的页面或者资源时,服务器会返回 404 状态码,提示客户端资源未找到。

405 Method Not Allowed:请求的方法不允许

该状态码表示请求行中指定的请求方法不被允许操作请求的资源。比如对一个仅允许GET请求的资源执行POST请求,就会返回405。这种情况下,服务器应当在响应中包含一个Allow头,说明该资源所允许的请求方法。

408 Request Timeout:请求超时

该状态码表示服务器等待客户端发送的请求时间过长,超时了。常见于一些要求客户端在指定时间内发送数据的场景,如持久连接或分块传输编码。通常服务器会在一定时间之后,终止请求。

500 Internal Server Error:服务端报错

表示服务器在处理请求时发生了意外的错误。这通常是服务器端代码出现问题导致的,例如数据库连接失败或者代码逻辑错误。

501 Not Implemented:网络未实现

该状态码表示服务器不支持实现请求所需的功能。当服务器无法识别请求的方法,或者没有为该方法实现任何功能时,服务器就会返回501状态码。 例如,如果客户端发送了一个合法的POST请求,但服务器并没有实现对POST请求的支持,就会返回501状态码。另一个例子是,如果服务器不支持请求中指定的某些头字段,也可能返回该状态码。

502 Bad Gateway:网络错误

该状态码表示作为网关或代理的服务器,从上游服务器收到了一个无效的响应。通常这个问题是由于上游服务器产生的响应无法被代理服务器理解造成的。

503 Service Unavailable:服务不可以使用

该状态码表示服务器暂时处于超载或正在停机维护,无法处理请求。

504 Gateway Timeout:网络超时

该状态码表示作为网关或代理的服务器,在等待另一台上游服务器响应时,超过了指定的时间,没有办法返回响应。通常这只发生在作为代理或网关时,无法及时从上游服务器获取响应,导致响应超时。

505 HTTP Version Not Supported:HTTP协议版本不支

该状态码表示服务器不支持请求中所使用的HTTP协议版本。例如,如果Web服务器无法处理HTTP/2.0请求,就会返回505状态码。 通常,当服务器收到其无法处理的较高版本的HTTP协议请求时,会返回该状态码。客户端在收到该响应后,可以根据服务器支持的最高版本的HTTP协议重新发送请求。

### 前端 HTTP 状态码及其含义 HTTP 协议中的状态用于描述服务器对客户端请求的响应结果。这些状态码分为五类,每种类别都有特定的意义。以下是与前端开发密切相关的常见 HTTP 状态码分类及具体含义: #### 1. **2xx 成功** 这类状态码表明客户端的请求被成功接收并处理。 - `200 OK`:表示服务器已成功处理了请求,并返回所请求的内容[^1]。 - `201 Created`:当新资源通过 POST 或 PUT 方法创建时,此状态码会被返回[^1]。 - `204 No Content`:表示服务器成功处理了请求,但未返回任何实体内容[^1]。这在前端常用于更新操作完成后不需要刷新页面的情况。 #### 2. **3xx 重定向** 此类状态码指示客户端需采取进一步的操作来完成请求。 - `301 Moved Permanently`:永久重定向,意味着请求的 URI 已经更改[^1]。浏览器会自动跳转到新的地址。 - `302 Found`(临时重定向):类似于 `301`,但它只是暂时性的重定向。 - `304 Not Modified`:如果缓存有效,则不会重新下载文件,而是继续使用本地副本。这对于优化性能非常重要。 #### 3. **4xx 客户端错误** 这类状态码指出请求可能存在语法错误或者无法实现。 - `400 Bad Request`:通用错误代,表示请求中有不良格式的数据[^1]。 - `401 Unauthorized`:访问受保护资源失败,通常需要身份验证才能获得权限[^1]。 - `403 Forbidden`:即使提供正确的凭证也无法访问某些资源,因为服务器配置不允许这样做。 - `404 Not Found`:最著名的错误之一,说明请求的 URL 不存在于该服务器上。 #### 4. **5xx 服务器错误** 这类状态码显示的是由于服务器原因而导致未能满足请求的情形。 - `500 Internal Server Error`:一种常见的服务器内部错误提示,具体问题可能难以定位[^1]。 - `502 Bad Gateway`:作为网关或代理工作的服务器接收到无效响应[^1]。 - `503 Service Unavailable`:服务不可用通常是由于过载或其他维护活动引起。 ```javascript // 示例:如何捕获 AJAX 请求中的不同 HTTP 状态码 fetch('https://example.com/api/data') .then(response => { if (!response.ok) { // response.ok 是 true 当 status 在 200–299 范围内 throw new Error(`Network response was not ok: ${response.status}`); } console.log(`Request successful with status code: ${response.status}`); return response.json(); }) .catch(error => { console.error('There has been a problem with your fetch operation:', error); }); ``` 以上是对前端开发者常用的 HTTP 状态码解释以及实际应用的一个简单例子。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JacksonChen_

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

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

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

打赏作者

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

抵扣说明:

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

余额充值