Http常见响应码

博客介绍了HTTP响应状态码,其表示服务器响应状态,常见约定俗成的状态码在各程序里含义一致,记住它们可快速定位接口问题。同时提到像100001这类自定义状态码,可与开发确认含义,一般接口文档会有说明。

HTTP响应状态码,表示了服务器的响应状态;
当前这条请求的真实结果
记录下常见的约定成俗的状态码
在这里插入图片描述
这些状态码一般在各种程序里的含义都一致,记住这些状态码,在看接口问题时一般可快速定位多半问题。
而有些状态码如:100001,诸如此类的是开发自定义的状态信息,可以自行与开发同学确认含义。
不过一般接口文档里会有。

### HTTP响应状态码列表及解释 HTTP协议定义了一系列的状态码,用于表示服务器对客户端请求的处理结果。以下是常见HTTP响应状态码分类及其含义: #### 1. **信息类(1xx)** 这些状态码表示临时的响应,包含继续处理请求的信息。 - **100 Continue**:服务器已收到请求头,并要求客户端继续发送请求主体[^1]。 - **101 Switching Protocols**:服务器根据客户端的请求切换协议[^1]。 #### 2. **成功类(2xx)** 这些状态码表示请求已被成功接收、理解和处理。 - **200 OK**:请求成功,服务器返回了请求的资源[^1]。 - **201 Created**:请求成功并且服务器创建了一个新的资源[^1]。 - **204 No Content**:请求成功处理,但返回的响应报文中不含实体的主体部分[^1]。 - **206 Partial Content**:服务器成功处理了部分GET请求[^1]。 #### 3. **重定向类(3xx)** 这些状态码表示客户端需要采取进一步的操作来完成请求。 - **301 Moved Permanently**:请求的资源已永久移动到新URI。 - **302 Found**:请求的资源暂时移动到新URI。 - **304 Not Modified**:资源未被修改,客户端可以使用缓存版本。 #### 4. **客户端错误类(4xx)** 这些状态码表示客户端可能发生了错误,妨碍了服务器的处理。 - **400 Bad Request**:服务器无法理解请求的格式[^1]。 - **401 Unauthorized**:请求要求用户的身份认证。 - **403 Forbidden**:服务器拒绝执行请求。 - **404 Not Found**:请求的资源在服务器上未找到。 - **413 Payload Too Large**:由于请求的实体过大,服务器无法处理,因此拒绝请求[^2]。 #### 5. **服务器错误类(5xx)** 这些状态码表示服务器在处理请求时发生了错误。 - **500 Internal Server Error**:服务器遇到了意外情况,阻止其完成请求。 - **502 Bad Gateway**:服务器作为网关或代理,从上游服务器接收到无效的响应。 - **503 Service Unavailable**:服务器当前无法处理请求,通常是因为过载或维护[^1]。 - **504 Gateway Timeout**:服务器作为网关或代理,未能及时从上游服务器接收到响应[^1]。 ### 示例代码 以下是一个简单的HTTP请求与响应示例,展示了如何返回带有状态码的JSON数据: ```python from flask import Flask, jsonify app = Flask(__name__) @app.route('/example', methods=['GET']) def example(): return jsonify({ "code": 200, "message": "请求成功", "data": { "username": "user123", "email": "user123@example.com" } }), 200 if __name__ == '__main__': app.run() ``` ### 错误响应结构建议 在服务端向前端返回错误响应时,可以参考以下格式,以便前端能够清晰地解析错误信息[^3]: ```json { "code": 400, "message": "请求参数错误,部分数据不可用", "data": { "user": { "username": "user123", "email": "user123@example.com" }, "defaults": { "role": "guest" } }, "errors": [ { "field": "phone", "message": "手机号格式不正确" }, { "field": "password", "message": "密码长度必须大于6个字符" } ] } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值