目录
- 状态码大类
- 状态码
状态码大类
| 状态码 |
说明 |
解释 |
| 1XX |
响应中——表示请求已经接受,继续处理 |
消息:一般是告诉客户端请求已经收到了,正在处理,别急 |
| 2XX |
成功——表示请求已经被成功接收、理解、接受。 |
处理成功:一般表示请求收悉、我明白你要的、请求已受理、已经处理完成等信息 |
| 3XX |
重定向——要完成请求必须进行更进一步的操作 |
重定向到其它地方:它让客户端再发起一个请求以完成整个处理 |
| 4XX |
客户端错误——请求有语法错误或请求无法实现 |
处理发生错误,责任在客户端:如客户端的请求一个不存在的资源,客户端未被授权,禁止访问等。 |
| 5XX |
服务器端错误——服务器未能实现合法的请求。 |
处理发生错误,责任在服务端:如服务端抛出异常,路由出错,HTTP版本不支持等 |
HTTP响应状态码有很多,但是实际经常使用的大概只有14个。
状态码
- 200 OK //表示从客户端发来的请求在服务器端被正常处理了。
- 204 No Content该状态码表示服务器接收的请求已成功处理 ,但在返回的响应报文中不含实体的主体部分。
- HTTP协议中 204 No Content 成功状态响应码表示目前请求成功,但客户端不需要更新其现有页面。204 响应默认是可以被缓存的。在响应中需要包含头信息 ETag。
- 比如,当从浏览器发出请求处理后,返回204响应,那么浏览器显示的页面不发生更新。
- 206 Partial Content 该状态码表示客户端进行了范围请求,而服务器成功执行了这部分的GET请求。
- 301 Moved Permanently 永久性重定向。该状态码表示请求的资源已经被分配了新的URI,以后应使用资源现在所指的URI。
- 像下方给出的请求URI,当指定的资源路径的最后忘记添加斜杠”/“,就会产生301状态码
- 302 Found 临时性重定向。该状态码表示请求的资源已被分配了新的URI,希望用户(本次)能使用新的URI访问。
- 303 Other //我把你redirect到其它的页面,目标的URL通过响应报文头的Location告诉你。
- See Other 该状态码表示由于请求对应的资源存在另外一个URI,应使用GET方法定向获取请求的资源。 303状态码和302状态码有着相同的功能,但303状态码明确表明客户端应当采用GET方法获取资源。 当301,302,303响应状态码返回时,几乎所有的浏览器都会把POST改成GET,并删除请求报文的主体,之后请求会自动再次发送。 301,302标准是禁止将POST方法改变成GET方法的,但实际上使用时大家都会这么做。
- 304 Not Modified // 该状态码表示客户端发送附带条件的请求时,服务器端允许请求访问资源,但未满足条件的情况。
- 304状态码返回时,不包含任何响应的主体部分。304虽然被划分在3XX类别中,但是和重定向没有关系。
- 自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
- 如果网页自请求者上次请求后再也没有更改过,您应将服务器配置为返回此响应(称为 If-Modified-Since HTTP 标头)。服务器可以告诉 Googlebot 自从上次抓取后网页没有变更,进而节省带宽和开销。
- 307 Temporary Redirect 临时重定向。该状态码与302 Found有着相同的含义。307会遵照浏览器标准,不会从POST变成GET
- HTTP1.1文档中307状态码则相当于HTTP1.0文档中的302状态码,当客户端的POST请求收到服务端307状态码响应时,需要跟用户询问是否应该在新URI上发起POST方法,也就是说,307是不会把POST转为GET的。
- 400 Bad Request //客户端请求有语法错误,不能被服务器所理解
- 401 Unauthorized //请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用
- 该状态码表示发送的请求需要有通过HTTP认证的认证信息,另外若之前已进行过1此请求,则表示用户认证失败。
- 403 Forbidden //服务器收到请求,但是拒绝提供服务
- 404 Not Found //该状态码表明服务器上无法找到请求的资源。除此之外,也可以在服务器端拒绝请求且不想说明理由时使用。
- 408 //服务器等候请求时发生超时。
- 413(请求实体过大) 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
- 414(请求的 URI 过长) 请求的 URI(通常为网址)过长,服务器无法处理。
- 500 Internal Server Error //该状态码表明服务器端在执行请求时发生了错误。
- 501(尚未实施) 服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
- 503 Server Unavailable //该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。
- 505(HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。
参考文章 常见的HTTP响应状态码解析、常见的响应状态码
HTTP 304状态码的详细讲解