HTTP之常见的状态码

237 阅读2分钟

状态码是服务器对于客户端请求的响应描述,借助状态码用户可以知道服务端是正常处理请求还是出现了错误。 如有记录不周到之处谢邀指正!


状态码格式

3位数字 + 原因短语 例如 200 OK

状态码的类别

image.png

常见的状态码

成功类状态码
  • 200 OK
    • 表示客户端的请求已被服务器正常接收
    • 在响应报文中,随状态码返回的信息会随着HTTP方法的不同发生改变。
      比如使用GET方法时,对应的请求实体会作为响应返回
      而HEAD方法只返回首部,不会返回实体主体部分
  • 204 No Content
    • 表示客户端的请求被服务器正常接收,但无资源返回
  • 206 Partal Content
    • 表示客户端进行了范围请求而服务器成功响应了指定部分的实体内容
重定向状态码
  • 301 Moved Permanently
    • 指定URI资源发生了永久性的更改
  • 302 Found
    • 指定URI资源临时保存到其他位置了,希望用户能使用新的URI访问
  • 303 See Other
    • 指定URI资源临时保存到其他位置了,希望用户能使用GET方法对新的URI访问

image.png

  • 304 Not Modified
    • 表示客户端发送附带条件的请求,服务端资源不满足条件
    • 虽然304被划为重定向类别中,但与重定向毫无关系
  • 307 Temporary Redirect
    • 指定URI资源临时保存到其他位置了,希望用户能使用新的URI访问
    • 与302状态码不同的是,307会遵守浏览器标准,不会从POST变成GET。尽管302也禁止,但是实际使用中大家并不遵守
客户端错误
  • 400 Bad Request
    • 表明请求报文中存在语法错误,另外浏览器会像200 OK 一样对待该状态码
  • 401 Unauthorized
    • 表明需要通过HTTP验证(BASIC认证、DIGEST认证)的信息。若之前已经进行过一次请求说明验证失败,返回401状态码必须包含WWW-Authenticate首部用以质疑用户信息
  • 403 Forbidden
    • 指定URi的访问被拒绝
  • 404 Not Found
    • 服务器上没有指定URI的资源
服务器错误
  • 500 Internal Server Error
    • 服务器内部错误
  • 503 Service Unavailable
    • 表明服务器内部进行维护