http常见的返回状态码

http状态码分类:

  • 100-199 提示信息 – 表示请求正在处理
  • 200-299 成功 – 表示请求正常处理完毕
  • 300-399 重定向 – 要完成请求必须进行更进一步的处理
  • 400-499 客户端错误 – 请求有语法错误或请求无法实现
  • 500-599 服务器端错误 – 服务器处理请求出错

常见的状态码有哪些?

  • 200:请求成功,浏览器会把响应体内容(通常是html)显示在浏览器中;
  • 404:(客户端问题)请求的资源没有找到 400: 语义有误,当前请求无法被服务器理解。401: 当前请求需要用户验证
  • 403: 服务器已经理解请求,但是拒绝执行它。
  • 500:(服务端问题)请求资源找到了,但服务器内部发生了不可预期的错误;
  • 301/302/303:(网站搬家了,跳转)重定向
  • 304: Not Modified,代表上次的文档已经被缓存了,还可以继续使用。如果你不想使用本地缓存可以用Ctrl+F5 强制刷新页面

注意:状态码与实际情况不一致的情形

不少返回的状态码都是错误的,但是用户可能察觉不到这点,比如web应用程序发送内部错误,状态码依然返回200 OK ,这种请求也会发生的。

### Python 自动化测试中的常见 HTTP 返回状态码 在 Python 自动化测试中,尤其是涉及接口测试的部分,理解并处理 HTTP 返回状态码是非常重要的。以下是常见HTTP 状态码列表及其含义: #### 成功类 (2xx) - **200 OK**: 表示请求成功,通常用于 GET 和 POST 请求[^2]。 - **201 Created**: 表示资源已创建,通常用于 PUT 或 POST 请求后服务器返回的结果。 - **204 No Content**: 表示请求成功,但无任何内容返回。 #### 重定向类 (3xx) - **301 Moved Permanently**: 表示永久重定向,原 URL 已经被永久替换为新的 URL。 - **302 Found**: 表示临时重定向,客户端应继续使用原始 URL。 - **307 Temporary Redirect**: 类似于 302,但在某些情况下更严格地保持原有请求方法不变。 #### 客户端错误类 (4xx) - **400 Bad Request**: 表示客户端发出的请求有语法错误,无法被服务器解析。 - **401 Unauthorized**: 表示未授权访问,通常需要身份验证才能获取所需数据。 - **403 Forbidden**: 表示即使提供正确的凭证也无法访问该资源。 - **404 Not Found**: 表示请求的资源不存在或不可用。 - **405 Method Not Allowed**: 表示所使用的 HTTP 方法不被允许。 #### 服务端错误类 (5xx) - **500 Internal Server Error**: 表示服务器内部发生未知错误。 - **502 Bad Gateway**: 表示网关接收到无效响应。 - **503 Service Unavailable**: 表示服务器暂时无法处理请求,可能是由于超载或维护原因。 - **504 Gateway Timeout**: 表示网关未能及时从上游服务器接收响应。 这些状态码可以通过 `response` 对象的方法来捕获和断言,例如 `r.status_code` 可以用来检查实际返回状态码是否符合预期[^2]。 ```python import requests def test_http_status(): url = "https://example.com" r = requests.get(url) # 断言状态码是否为 200 assert r.status_code == 200, f"Expected status code 200 but got {r.status_code}" ``` 以上代码展示了如何通过 `requests` 库发起 HTTP 请求,并利用 `assert` 验证返回状态码是否满足期望值。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值