HTTP状态码负责表示客户端HTTP请求的返回结果、标记服务器端的处理是否正常、通知出现的错误等工作。本文介绍几种常用的HTTP状态码及其工作机制。
1xx 信息提示
接收的请求正在处理,可能还需要进一步的交互。
·101 Switching Protocols
切换请求协议,从 HTTP 切换到 WebSocket/切换到HTTP新版本的协议
2xx 成功
成功完成客户请求的操作,并完成响应。
·200 OK
请求已被正常处理
·204 No Content
请求处理成功,但没有资源可以返回(页面不发生更新)
·206 Partial Content
范围请求
3xx 重定向
表示资源已移走,需要向新的URI发送请求
·301 Moved Permanently
永久重定向(请求的资源已被分配了新的URI),会缓存(资源被永久移除,以后都不应该访问)
·302 Found
临时重定向(请求的资源已被分配了新的URI),不会缓存(资源暂时被移除,过一段时间还能访问)
·303 See Other
请求的资源存在另一个URI,应使用GET重新获取
【301、302、303响应状态码返回时,几乎所有浏览器都会把POST改成GET,并删除请求报文内的主题,之后自动再次发送请求。】
·304 Not Modified
服务器端资源未改变(页面没更新),直接使用客户端未过期的缓存(虽然是3xx,但与重定向无关)
4xx 客户端错误
由于客户端请求错误,无法成功响应
·400 Bad Request
请求报文中存在语法错误
·401 Unauthorized
请求未通过HTTP认证的认证信息
·403 Forbidden
服务器禁止访问
·404 Not Found
资源未找到
5xx 服务器错误
由于服务器请求错误,无法成功响应
·500 Internal Serval Error
服务器端错误
·503 Service Unavailable
服务器繁忙