第四章 返回结果的HTTP状态码

HTTP状态码负责表示客户端HTTP请求的返回结果,标记服务器端的处理是否正常,通知出现的错误等工作。
状态码的职责是当客户端向服务器端发送请求时,描述返回的请求的结果。
image.png
状态码如 200 OK,以 3 位数字和原因短语组成。 数字中的第一位指定了响应类别,后两位无分类。响应类别有以下 5 种。
image.png
2XX的响应结果表明请求被正常处理了。

200OK

image.png

204 No Content

image.png

206 Partial Content

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

301 Moved Permanently

image.png
永久性重定向。

302 Found

image.png
和 301 Moved Permanently 状态码相似,但 302 状态码代表的资源不是被永久移动,只是临时性质的。

303 See Other

image.png
303 状态码和 302 Found 状态码有着相同的功能,但 303 状态码明确 表示客户端应当采用 GET 方法获取资源,这点与 302 状态码有区别。

304 Not Modified

image.png

307 Temporary Redirect

临时重定向。该状态码与 302 Found 有着相同的含义。尽管 302 标准禁止 POST 变换成 GET,但实际使用时大家并不遵守。 307 会遵照浏览器标准,不会从 POST 变成 GET。但是,对于处理响 应时的行为,每种浏览器有可能出现不同的情况。
4XX的响应结果表明客户端是发生错误的原因所在。

400 Bad Request

image.png
该状态码表示请求报文中存在语法错误。

401 Unauthorized

image.png
该状态码表示发送的请求需要有通过 HTTP 认证(BASIC 认证、 DIGEST 认证)的认证信息。另外若之前已进行过 1 次请求,则表示 用 户认证失败。

403 Forbidden

image.png

404 Not Found

image.png
该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服 务器端拒绝请求且不想说明理由时使用。
5XX的响应结果表明服务器本身发生错误

500 Internal Server Error

image.png

503 Service Unavailable

image.png