【PHP面试题10】常见 HTTP 状态码,分别代表什么含义

前言

本文已收录于PHP全栈系列专栏:PHP面试专区。-
计划将全覆盖PHP开发领域所有的面试题,对标资深工程师/架构师序列,欢迎大家提前关注锁定。

HTTP(Hypertext Transfer Protocol)是一个用于传输超文本的协议,在 Web 开发中使用非常广泛。当我们在浏览器中输入一个 URL 时,浏览器会向服务器发送 HTTP 请求,服务器会根据请求的内容做出相应的响应。在响应的过程中,会返回一个状态码,表示服务器对请求的处理结果。本文将介绍常见的 HTTP 状态码及其含义。

常见 HTTP 状态码

1xx:信息性状态码

1xx 状态码表示请求已被接受,需要进一步处理。这些状态码大多数情况下是服务器通知客户端请求正在被处理,或者客户端需要采取一些行动才能继续请求。

  • 100 Continue:客户端应继续发送请求。这个临时的响应是用来通知客户端它的部分请求已经被服务器接收,并且继续等待剩余的请求完成。
  • 101 Switching Protocol:服务器已经理解了客户端的请求,并将通过 Upgrade 消息头通知客户端采用不同的协议来完成请求。

2xx:成功状态码

2xx 状态码表示请求已成功被服务器接收、理解、并且接受。

  • 200 OK:请求已成功完成。
  • 201 Created:请求已经被实现,而且有一个新的资源已经依据请求的需要而建立,且其 URI 已经随 Location 头信息返回。
  • 202 Accepted:服务器已经接受请求,但尚未处理完成。
  • 204 No Content:服务器已成功处理请求,但没有返回任何响应内容。

3xx:重定向状态码

3xx 状态码表示需要执行某些特殊的操作才能完成请求。通常,这些状态码用来重定向客户端浏览器到另一个 URI 上。

  • 300 Multiple Choice:被请求的资源有一系列可供选择的回馈信息,每个都有自己特定的地址和浏览器驱动的商议信息。用户或浏览器能够自行选择一个明确的地址进行重定向。
  • 301 Moved Permanently:请求的网页已永久移动到新位置。服务器返回此响应而客户端将会使用新的 URL 来访问网页。服务器返回的响应中会包含一个 Location URL,客户端将会自动重定向到这个 URL。
  • 302 Found:请求的资源临时从不同的 URI 响应请求。由于这样的重定向是临时的,客户端应该继续使用原有的 URI 请求。
  • 304 Not Modified:自从上次请求后,请求的网页未修改过。服务器返回此响应,但不会返回网页内容。客户端可以通过缓存来使用以前的响应,从而减少带宽的使用率。

4xx:客户端错误状态码

4xx 状态码表示客户端在发送请求时出错,服务器无法处理请求。

  • 400 Bad Request:服务器无法理解请求的格式,客户端不应该重试相同的请求。
  • 401 Unauthorized:请求需要用户认证。未经授权的客户机尝试查看受密码保护的页面时,服务器将返回此响应。
  • 403 Forbidden:服务器已经理解请求,但是拒绝执行它。与 401 响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重试。
  • 404 Not Found:所请求的资源不存在或已被删除。例如,访问不存在的网页时就会出现此错误。

5xx:服务器错误状态码

5xx 状态码表示服务器在处理请求时出错。

  • 500 Internal Server Error:服务器遇到了意料不到的情况,导致无法完成请求。
  • 502 Bad Gateway:作为网关或代理的服务器尝试执行请求时,从上游服务器接收到无效的响应。
  • 503 Service Unavailable:服务器当前无法处理请求,由于临时过载或维护,服务器关闭等。通常,这个状态持续的时间会较长。

总结

HTTP 状态码是服务器用来表示请求处理结果的标准化的代码。根据状态码,我们可以快速地判断请求是否成功,以及失败的原因。除了本文中介绍的状态码,还有很多其他的状态码。通常,我们只需要掌握常见的状态码即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值