Skip to content

HTTP 响应状态码

HTTP 响应状态代码指示特定 HTTP 请求是否已成功完成。

响应分为五类,每个状态码代表了不同的含义和处理方式,服务器根据请求处理的结果返回相应的状态码给客户端。

  1. 100~199:信息响应 Information,通常用来向客户端传递一些请求处理的中间状态或信息
  2. 200~299:成功响应 Successful,表示服务器已经成功处理了客户端的请求
  3. 300~399:重定向消息 Redirection,表示客户端需要采取一定的操作才能完成请求
  4. 400~499:客户端错误响应 Client error,通常是客户端提交的请求不合法或未授权等错误
  5. 500~599:服务器错误响应 Server error,通常表示服务器内部发生了错误或无法处理客户端的请求等

信息响应

信息响应状态码通常表示请求处理的中间状态,服务器不会将它们作为最终响应返回给客户端,而是在一些特殊的场景下使用,如流式传输、预处理等。

  • 100 Continue:表示客户端可以继续发送请求。

成功响应

成功响应状态码通常表示服务器已经成功处理了客户端的请求,如果请求需要返回响应体,则服务器会在响应中返回资源内容。

  • 200 OK:表示请求已成功,服务器已经返回了请求的资源。

重定向消息

重定向消息状态码通常表示客户端需要进行额外的操作,如访问新的地址、使用 GET 方法等。

  • 301 Moved Permanently:表示请求的资源已经被移动到另外一个地址,客户端需要使用新的地址进行访问。

客户端错误响应

客户端错误响应状态码通常表示服务器无法处理客户端提交的请求,原因可能是客户端提交的数据无效、缺少必要的身份验证、请求的资源不存在等

  • 400 Bad Request:表示客户端提交的请求有问题,服务器无法处理。
  • 401 Unauthorized:表示客户端需要进行身份验证才能访问资源。
  • 403 Forbidden:表示客户端没有访问资源的权限。
  • 404 Not Found:表示客户端请求的资源不存在。
  • 405 Method Not Allowed:表示客户端使用的 HTTP 方法不被服务器允许。

服务器错误响应

服务器错误响应状态码通常表示服务器无法完成客户端的请求,可能是服务器代码或配置有问题,或者服务器被攻击或拒绝服务等。

  • 500 Internal Server Error:表示服务器在处理请求时发生了错误,无法完成客户端的请求。
  • 501 Not Implemented:表示客户端使用的请求方法服务器不支持。
  • 502 Bad Gateway:表示服务器作为网关或代理时,在请求下游服务器(如应用服务器、数据库服务器等)时出现了错误。
  • 503 Service Unavailable:表示服务器当前无法处理客户端的请求,通常是因为服务器正在维护或已经达到处理请求的最大负载。
  • 504 Gateway Timeout:表示服务器作为网关或代理时,在请求下游服务器时超时了。
  • 505 HTTP Version Not Supported:表示服务器不支持客户端请求的 HTTP 版本。