计算机网络 | HTTP状态码

HTTP状态码是非常重要的一个知识点,尤其是对于前端工作者来说,我们在发送网络请求获取资源的时候,经常返回不同的状态码,那么各种状态码都代表什么含义呢~让我们一探究竟吧!

类别 含义 描述
1xx Informational (信息性状态码) 接收的请求正在处理
2xx Success(成功状态码) 请求正常处理完毕
3xx Redirection(重定向状态码) 需要进行附加操作继而完成请求
4xx Client Error(客户端错误状态码) 服务器无法处理请求
5xx Server Error(服务器错误状态码) 服务器请求错误

2XX(Sucess成功状态码)

  • 200 OK:客户端发来的请求被服务端正常处理了
  • 204 No Content:客户端发送的请求已经在服务端正常处理了,但是没有返回的内容,响应报文中不包含实体的主体部分(一般在只需要从客户端往服务端发送信息,而服务器端不需要往客户端发送内容时使用)
  • 206 Partial Conent:客户端进行了范围请求,而服务器端执行了这部分GET请求,响应报文中包含由Content-Range指定范围的实体内容

3XX(Redirection重定向状态码)

3xx响应结果表明浏览器需要执行某些特殊的处理以正确处理请求

  • 301 Moved Permanently(永久重定向):请求的资源已经被分配到新的URL,以后应使用资源指定的URL

  • 302 Found(临时重定向):请求的资源被分配到新的URL,希望用户(本次)能够使用新的URL访问资源

    • 登录首页自动重定向到活动页面
    • 未登录用户访问用户中心重定向到登录页面
    • 访问404后重定向到首页
  • 303 See Other:由于请求对应的资源存在着另一个URL,应使用GET方法重定向获取请求资源,和302类似,但是303状态码明确表示客户端应当采用GET获取资源(消息确认页面或者上传进度页面)

  • 304 Not Modified(浏览器缓存相关):客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况,304状态码返回时,不包含任何响应的主体部分

  • 307 Temporary Redirect(临时重定向):和302类似

4XX(Client Error客户端错误状态码)

4xx响应结果表示客户端是错误所在

  • 400 Bad Request:请求报文中存在语法错误,当错误发生时,需修改请求的内容后,再次发送请求
  • 401 Unauthorized:发送的请求需要由通过HTTP认证的认证信息,若之前已进行过一次请求,则表示用户认证失败
  • 403 Forbidden:请求资源的访问被服务器拒绝
  • 404 Not Found:没有在服务器找到资源
  • 405 Method Not Allowed:客户端请求的方法虽然能被服务器识别,但是服务器禁止使用该方法

5XX(Server Error服务器错误状态码)

  • 500 Internal Server Error:服务器端在执行请求时发生了错误
  • 502 Bad Gateway:扮演网关或代理角色的服务器,从上游服务器中接收到的响应是无效的
  • 503 Service Unavailable:服务器暂时处于超负载或正在进行停机维护,现在无法处理请求
  • 504 Gateway Timeout:网关或者代理的服务器无法在规定的时间内获得想要的响应