几种常见的状态码

本文详细解析了HTTP状态码,包括2XX系列的成功响应,3XX系列的重定向,4XX系列的客户端错误,以及5XX系列的服务器错误。具体介绍了如200 OK, 301 Moved Permanently, 404 Not Found, 和500 Internal Server Error等常见状态码的含义。

原文:https://blog.youkuaiyun.com/y_silence_/article/details/85011076 

2XX系列:代表请求已成功被服务器接收、理解、并接受。
200状态码:表示请求已成功,请求所希望的响应头或数据体将随此响应返回
201状态码:表示请求成功并且服务器创建了新的资源,且其 URI 已经随Location 头信息返回。
3XX系列:代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向,后续的请求地址(重定向目标)在本次响应的 Location 域中指明。
301状态码:被请求的资源已永久移动到新位置。服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302状态码:请求的资源临时从不同的URI响应请求,但请求者应继续使用原有位置来进行以后的请求。
304状态码:自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
4XX系列:表示请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。
401状态码:请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。
403状态码:服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。
404状态码:请求失败,请求所希望得到的资源未被在服务器上发现。
5xx系列:代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。
500状态码:服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。
503状态码:由于临时的服务器维护或者过载,服务器当前无法处理请求。

### Nginx 常见 HTTP 状态码及解释 #### 一、1xx 系列状态码 这些状态码被定义为信息性状态码,主要用于指示请求的中间过程。虽然在普通的 Web 浏览场景下不常遇到,但在复杂的 HTTP 通信环境中非常重要,尤其是在涉及流媒体传输或分块编的情况下。 - **100 Continue**: 表明服务器已收到部分请求并希望客户端继续发送剩余数据[^1]。 - **101 Switching Protocols**: 表示服务器同意按照客户端请求的方式切换协议。 --- #### 二、2xx 系列状态码 这类状态码表明请求已被成功接收、理解和处理。 - **200 OK**: 这是最常见的状态之一,表示请求成功完成,并且资源已经返回给客户端[^2]。 - **201 Created**: 当新资源创建成功时会返回此状态码,通常用于 POST 请求操作后的响应[^2]。 - **204 No Content**: 表示请求成功执行,但未返回任何实体内容[^2]。 --- #### 三、3xx 系列状态码 此类状态码代表重定向行为,意味着客户端需要采取进一步行动才能完成请求。 - **301 Moved Permanently**: 永久重定向,告知浏览器该 URL 已永久迁移到新的地址[^3]。 - **302 Found (Temporary Redirect)**: 临时重定向,通知客户端当前访问的目标位置发生了变化,但这种改变只是暂时的[^3]。 配置示例: ```nginx server { listen 80; server_name old_domain.com; return 302 http://new_domain.com$request_uri; } ``` - **304 Not Modified**: 如果资源自上次请求以来没有更新,则返回此状态码以节省带宽[^2]。 --- #### 四、4xx 系列状态码 这一类属于客户端错误,通常是由于不当的请求参数或其他原因引起。 - **400 Bad Request**: 客户端发出的请求有语法错误,无法解析。 - **401 Unauthorized**: 访问受保护的内容失败,提示用户需提供身份验证凭证[^2]。 - **403 Forbidden**: 即使提供了有效认证,仍然拒绝访问某些特定资源[^2]。 - **404 Not Found**: 所请求的资源不存在于服务器上[^2]。 --- #### 五、5xx 系列状态码 这是服务端错误类别,说明即使请求本身无误,但由于服务器内部问题未能正常处理。 - **500 Internal Server Error**: 泛指服务器遇到了不可预见的情况而阻止其履行请求[^2]。 - **502 Bad Gateway**: 出现在代理或网关环境里,当上游服务器返回了无效响应时触发[^2]。 - **503 Service Unavailable**: 可能是因为过载或者正在进行维护而导致的服务暂不可用状况[^2]。 - **504 Gateway Timeout**: 同样发生在代理架构中,如果等待超时仍未接收到后续节点回应则报错[^2]。 --- ### 总结 以上列举了几种典型的 HTTP 状态码以及它们的具体意义,在实际部署和调试过程中理解这些概念有助于更高效地管理和优化基于 Nginx 的 web 应用程序表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值