Http常见状态码

本文详细介绍了HTTP协议中常见的状态码,包括成功、重定向、客户端错误及服务器错误等各类状态码,并解释了每种状态码的具体含义及其应用场景。
Http常见状态码
        状态码用于客户端(浏览器)向服务器发送请求时,描述请求的返回结果。借助状态码,可以判断服务器是否正常的处理了请求,还是发生了错误。
一.状态码类别:
        状态码一般分为如下五个类别:
        1)1XX    信息性状态码…………接收的请求正在处理
        2)2XX    成功状态码……………请求正常处理完毕
        3)3XX    重定向状态码…………需要进行附加操作以完成请求
        4)4XX    客户端错误状态码……服务器无法处理请求
        5)5XX    服务器错误状态码……服务器处理请求失败
二.成功状态码
        200  OK    表示从客户端发来的请求在服务器端被正常处理了。
        204  No Content    表示服务器接收的请求已经成功处理,但是返回的响应报文中不含实体的主体部分。
        206  Partial Content   表示客户端进行了范围请求(只是对资源的某一部分的请求),而服务器成功执行了这部分请求。
        在响应报文中,随状态码一起返回的信息会因为方法的不同而发生改变(GET、HEAD)。
三.重定向状态码
        301  Move Permanently    永久性重定向,表示请求的资源已经被分配了新的URI,以后应使用资源现在所指的URI。
        302  Found    临时性重定向,表示请求的资源临时被分配了新的URI,本次访问使用资源现在所指的URI。302标准禁止POST变换成GET,但实际应用中并不一定。
        303  See Other    表示由于请求对应的资源存在这另一个URI,应使用GET方法定向获取请求的资源。
        304  Not Modified    表示客户端发生附带条件的请求时,服务器端允许请求访问资源(服务器端资源未改变,可直接使用客户端未过期的缓存)。
        307  Temporary Redirect    临时重定向,与302相比,采用的POST方法不会变成GET方法(实际应用中严格遵守标准)。
四.客户端错误状态码
        400  Bad Request    表示请求报文中存在语法错误,需要修改请求的内容后再次发送请求。
        401  Unauthorized    表示发送的请求需要有通过HTTP认证(BASIC认证、DIGEST认证)的认证信息。
        403  Forbidden    表示对请求资源的访问被服务器拒绝了(一般而言都是授权、权限等问题)。
        404  Not Found    表示服务器上无法找到请求的资源。
五.服务器错误状态码
        500  Internal Server Error    表示服务器端在执行请求时发生了错误。
        503  Service Unavailable    表示服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
### HTTP常见状态码及解释 #### 信息性状态码 (1xx) 这类状态码表示接收到请求并继续处理。 - **100 Continue**: 表示服务器已经收到了请求头部,客户端可以继续发送请求主体[^4]。 - **101 Switching Protocols**: 表明服务器接受客户端的请求,并准备切换协议(例如从HTTP切换到WebSocket)[^4]。 #### 成功状态码 (2xx) 此类状态码表示请求已被成功接收、理解和处理。 - **200 OK**: 请求成功,服务器返回了请求的资源[^4]。 - **201 Created**: 请求成功,服务器创建了一个新的资源,通常用于`POST`请求。 - **204 No Content**: 请求成功,但没有返回任何内容,常用于`DELETE`请求。 - **206 Partial Content**: 当客户端进行了范围请求时,服务器会成功执行这部分的`GET`请求[^2]。 #### 重定向状态码 (3xx) 这些状态码告知客户端需采取进一步操作来完成请求。 - **301 Moved Permanently**: 资源已永久移动至新位置,新的URL将在响应的`Location`字段中提供。 - **302 Found**: 资源临时从不同的URI响应请求。 - **304 Not Modified**: 如果资源未被修改,则允许使用缓存版本而不重新下载[^4]。 #### 客户端错误状态码 (4xx) 此组状态码意味着客户端可能犯了某种错误。 - **400 Bad Request**: 请求无效或格式错误,服务器无法处理该请求[^4]。 - **401 Unauthorized**: 需要身份验证才能访问某些受保护的资源[^4]。 - **403 Forbidden**: 即使提供了正确的凭证,也无权访问特定资源[^4]。 - **404 Not Found**: 所请求的资源在服务器上不存在,可能是地址拼写错误或是资源曾存在但现在已被移除[^3][^4]。 - **429 Too Many Requests**: 客户端在指定时间内发出过多请求,触发速率限制机制。 #### 服务器错误状态码 (5xx) 这一系列的状态码表明服务器遇到了意外情况,阻止其履行请求。 - **500 Internal Server Error**: 通用错误消息,指出服务器遇到未知问题而无法完成请求。 - **501 Not Implemented**: 服务器不支持实现所需功能以满足请求[^4]。 - **502 Bad Gateway**: 作为网关或代理工作的服务器收到来自上游服务器的有效回复失败[^4]。 - **503 Service Unavailable**: 服务不可用,这通常是由于服务器过载或者正在进行维护所致[^4]。 - **504 Gateway Timeout**: 作为网关或代理工作的服务器未能及时获得来自上游服务器的回应[^4]。 ```python # 示例代码展示如何通过Python库requests获取HTTP状态码 import requests response = requests.get('https://example.com') print(f'Status Code: {response.status_code}') if response.status_code == 200: print("Request was successful.") elif response.status_code == 404: print("The requested resource could not be found.") else: print("An error occurred with the request.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值