HTTP状态码

响应的状态码可以描述请求的处理结果。用户发送请求,通过服务器返回的不同状态码可以分析服务器是正常处理请求还是出现错误。

类别

由3位数字和原因组成的短语,第一位数字指定了响应类别。

  • 1XX  Informational  接收的请求正在处理
  • 2XX  Success     请求正常处理完毕 
  • 3XX  Redirection   需要进行附加操作以完成请求
  • 4XX  Client Error   服务器无法处理请求
  • 5XX  Server Error   服务器处理请求出错

14个代表性状态码

  • 200 OK           请求被正常处理
  • 204 No Content       请求已成功处理,但响应报文中不含实体的主体部分(没有资源可返回,浏览器页面不发生更新)
  • 206 Partial Content      服务器成功执行,响应报文中包含由Content-Range指定范围的实体内容
  • 301 Moved Permanently    请求的资源URI已发生改变
  • 302 Found           请求的资源已被分配临时新的URI(走缓存)
  • 303 See Other        请求的资源存在另一个URI,应改用GET方法定向获取请求的资源
  • 304 Not Modified       客户端发送附带条件的请求,缓存服务器找到资源但未符合条件请求。304虽然被划分在3XX类别,但和重定向没什么关系
  • 307 Temporary Redirect     临时重定向,和302 Found含义相同。307会遵照浏览器标准,不会从POST变成GET
  • 400 Bad Request       请求报文存在语法错误,服务器无法理解
  • 401 Unauthorized       请求需要有通过HTTP认证的认证信息
  • 403 Forbidden         请求资源的访问被服务器拒绝了,没有访问权限
  • 404 Not Found         服务器上无法找到请求的资源,也可以在服务器端拒绝请求且不想说明理由时使用
  • 500 Internal Server Error     服务器执行请求时发生错误,可能是Web应用存在bug或某些临时故障
  • 503 Service Unavailable     服务器暂时忙线或正在进行停机维护,无法处理请求
状态码和状况不一致

不少返回的状态码响应都是错误的,比如Web应用程序内部发生错误,状态码依然返回200 OK,这种情况也经常遇到。

整理不易,点个在看(👍)吧,大家加油 :)