常见http返回的状态码

本文详细介绍了HTTP状态码的不同类别,包括1xx的临时响应,2xx的成功,3xx的重定向,4xx的请求错误,以及5xx的服务器错误。每个类别下都列举了具体的状态码及其含义,帮助读者理解服务器与客户端交互过程中可能出现的各种情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、先说几个常见的

       a、200:服务器成功返回网页

       b、404:请求的网页不存在

       c、503:服务不可用

二、接下来系统说下:

      I、1xx(临时响应)

 表示临时响应并需要请求者继续执行操作的状态代码。

代码   说明

100   (继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。  

101   (切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。

     II、2xx (成功)

 表示成功处理了请求的状态代码。

  代码   说明

200   (成功)  服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。      

201   (已创建)  请求成功并且服务器创建了新的资源。

            202   (已接受)  服务器已接受请求,但尚未处理。

   III、3xx (重定向)

 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。

  代码   说明      

 300   (多种选择)  针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。

 301   (永久移动)  请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。

 302   (临时移动)  服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

 303   (查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。

 304   (未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。

     Ⅳ、4xx(请求错误)

   这些状态代码表示请求可能出错,妨碍了服务器的处理。

代码   说明       

400   (错误请求) 服务器不理解请求的语法。

  401   (未授权) 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。

   403   (禁止) 服务器拒绝请求。

       404   (未找到) 服务器找不到请求的网页。

 

   Ⅴ、5xx(服务器错误)

 这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错。

代码   说明      

500   (服务器内部错误)  服务器遇到错误,无法完成请求。

504   (网关超时)  服务器作为网关或代理,但是没有及时从上游服务器收到请求。

出处:

### 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
发出的红包

打赏作者

大富大贵7

很高兴能够帮助到你 感谢打赏

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

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

打赏作者

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

抵扣说明:

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

余额充值