面试题 常见的状态码

本文详细解释了HTTP状态码的不同类别,包括1xx(服务器处理中)、2xx(成功处理)、3xx(重定向)、4xx(客户端错误)和5xx(服务器错误),重点介绍了常见状态码如200Ok、301MovedPermanently、400BadRequest和500InternalServerError的含义和应用场景。

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

响应报文长相

分类

1xx:服务器收到请求,需要请求者继续执行操作

一个是一开头的状态吧,就100多啊,100到199的状态码,服务器收到了请求了,但是服务器感觉这个请求没法送完,让你还去接着发吧。或者我们要更改协议啊,比方说,客户端发发送一个消息到服务器用的版协议版本是HTTP/1.1。那么服务器呢,说我这个1.1这么老的版本了,算了吧,我们还是用HTTP/2吧,它会给你响应一个100的好像是让你提升一下,写一个版本让你重新发送请求,这个我们遇到的比较少见。

2xx:成功操作被成功接收并处理

3xx:重定向需要进一步的操作已完成请求。

就是你访问的东西啊,已经换了一个后端地址,它不在目前访问这个地址。我告诉你另外一个地址,去另外一个地址去找,就是个重定向

4xx:客户端错误,请求包含语法错误或无法完成请求。

表示客户端的错误,就是你发过来的请求是有问题的,没法处理,

5xx:服务器错误,服务器在处理请求的过程中发生了错误。

就是发的请求是没问题的,是服务器出了问题

通常情况下0~399之间的状态码都是正常,其他的都不是正常的状态码

常见的状态码

  • 200 Ok一切正常
  • 301 Moved permanently 资源已经被永久重定向

请求已经收到了,但是不在这个地址了,我已经把资源永久的移动到了另一个地址,地址放到了请求头的location中了,并且浏览器会记录下新的地址,下次你再访问原来的地址,浏览器会直接访问新地址(浏览器缓存)

  • 302 Found 资源已经被临时定向
  • 304 Not Modified 文档内容未被修改

请求已经收到了,你要的资源和之前一样没有被修改,但是我不给你结果了,你自己去缓存找吧

  • 400 Bad Request 语义有误 当前请求无法被服务器理解
  • 401  Unauthorized 未授权
  • 403 Forbidden 服务器拒绝执行(权限不够)
  • 404 Not Found 资源不存在

请求收到了,但是没有你需要的东西

  • 500 Internal Server Error 服务器内部错误

### 功能测试面试题:HTTP 状态码 在功能测试的面试过程中,了解 HTTP 状态码及其应用是非常重要的技能之一。以下是几个可能被问到的问题: #### 什么是常见的 HTTP 响应状态码常见 HTTP 状态码分为五类,每种类别代表不同的响应情况[^1]。 - **1xx (信息性)**: 表示请求已接收,继续处理。 - **2xx (成功)**: 表示请求已被接受并成功处理。 - **3xx (重定向)**: 客户端需执行更多操作才能完成请求。 - **4xx (客户端错误)**: 请求有误或无法实现。 - **5xx (服务器错误)**: 服务器未能完成合法请求。 #### 如何验证 API 返回的状态是否正确? 为了确保应用程序返回适当的状态,在编写自动化测试脚本时可以捕获 HTTP 响应对象中的 `status_code` 属性,并将其与预期值进行比较。例如,在 Python 中使用 requests 库来获取网页内容后会得到一个 Response 对象,可以通过访问其 `.status_code` 来获得实际返回的状态。 ```python import requests response = requests.get('https://example.com') print(response.status_code) ``` #### 当遇到非标准的成功状态码(如 207 或 226),应该如何应对? 对于不常用但仍然属于成功的状态(比如多状态 Partial Content 的 207 和 IM Used 的 226),应该查阅官方文档确认具体含义以及如何适当地解释这些特殊情况下服务的行为。 #### 如果 POST 请求创建了一个新资源,期望收到什么状态码? 当通过 POST 方法向服务器发送数据以创建新的资源实例时,通常希望看到的是 201 Created 这样的状态表示已经成功建立了该资源;同时 Location 头部字段应当指向新建实体的位置。 #### 测试中发现某些 URL 路径下总是返回 404 Not Found 错误怎么办? 如果某个特定路径持续报错,则可能是由于路由配置不当或者是前端传入参数不符合后台定义等原因造成的。此时建议先排查日志文件找出根本原因所在,再针对性地调整代逻辑或者修正输入条件使接口能够正常工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值