第四章 返回结果的HTTP状态码
HTTP状态码负责表示客户端HTTP请求的返回结果、标记服务端的处理是否正常、通知出现的错误等。
1.状态码的类别
2. 2XX成功
200 OK |
表示服务端已正常处理请求 |
204 No Content |
表示成功处理,但是响应报文不含实体的主体部分 |
206 Partial Content |
表示客户端进行了范围请求,服务器成功处理 |
3. 3XX重定向
3XX响应结果表明浏览器需要执行某些特殊的处理以正确处理请求。当301、302、303响应状态码返回时,几乎所有浏览器都会把POST改成GET,并删除请求报文内的主体,之后请求会自动再次发送。301、302标准时禁止POST方法改变成GET方法的,但是实际使用时大家不会这么做。
301 Moved Permanently |
永久性重定向,表示资源已被分配了新的URI,以后应使用现在所指的URI访问资源。 |
302 Found |
临时性重定向,表示资源已被分配了新的URI,希望本次能使用新的URI访问。 |
303 See Other |
表示请求的资源存在另一个URI,应使用GET方法定向获取资源。303和302相似,只不过303明确表明要使用GET方法获取资源。 |
304 Not Modified |
表示客户端发送附带条件的请求时,虽然服务端允许访问资源,但是不符合条件的情况(和重定向没关系)。 |
307 Temporary Redirect |
临时重定向。与302 Found有相同含义。遵循浏览器标准,禁止POST变换成GET。 |
4. 4XX
4XX的响应结果表明客户端时发生错误的原因所在。
400 Bad Request |
表示请求报文中出现错误。 |
401 Unauthorized |
表示发送的请求需要有通过HTTP认证(BASIC认证、DIGEST认证)的认证信息。另外如果之前已进行了一次请求,则表示用户认证失败。 |
403 Forbiddex |
表示对请求资源的访问被服务器拒绝了。为获得授权或者访问权限出错。 |
404 Not Found |
表示服务器上无法找到请求的资源或者服务器拒绝请求并不想说明理由。 |
5. 5XX
5XX的响应结果表明服务端时发生错误的原因所在。
500 Internal Server Error |
表示服务器在执行请求时发生错误。也可能是Web应用存在bug或故障。 |
503 Service Unavailable |
表示服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。 |