图解HTTP之返回结果的HTTP状态(四)

HTTP状态码负责表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。

状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求,还是出现了错误。

图解HTTP之返回结果的HTTP状态(四)_第1张图片

仅记录在 RFC2616 上的 HTTP 状态码就达 40 种,若再加上WebDAV(Web-based Distributed Authoring and Versioning,基于万维网的分布式创作和版本控制)(RFC4918、5842) 和附加 HTTP 状态码(RFC6585)等扩展,数量就达 60 余种。别看种类繁多,实际上经常使用的大概只有 14 种。

2XX成功 响应结果表明请求被正常处理

  • 200 OK 根据请求方法有正常的返回资源

  • 204 No Content 请求处理成功,但无资源返回

  • 206 Partial Content 对范围请求的正确返回资源

3XX重定向 浏览器需要执行某些特殊的处理以正确处理请求

  • 301 Moved Permanently 永久性重定向 URI更新,以后应使用更新后的URI

  • 302 Found 临时性重定向 URI更新,本次使用更新的URI

  • 303 See Other 请求对应的资源存在着另一个 URI,应使用 GET方法定向获取请求的资源

当301、302、303响应状态码返回时,几乎所有浏览器会把POST方法改为GET,并删除请求报文内的主体,之后请求会自动再次发送。

  • 304 Not Modified 资源已找到,但未符合条件请求,不包含任何响应的主体部分。距离上次,未修改用缓存。

  • 307 Temporary Redirect 临时重定向 该状态码与 302 Found 有着相同的含义,但不会从 POST 变成 GET

4XX客户端发生错误

  • 400 Bad Request 请求报文中存在语法错误

  • 401 Unauthorized 需要有通过HTTP认证

图解HTTP之返回结果的HTTP状态(四)_第2张图片

  • 403 Forbidden不允许访问那个资源

  • 404 Not Found 服务器上没有请求的资源,也可以在服务器端拒绝请求且不想说明理由时使用

5XX服务器错误

  • 500 Internal Server Error 内部资源出故障

  • 503 Service Unavailable 服务器无法处理请求,超负载/停机中

你可能感兴趣的:(HTTP相关知识)