1xx:指示信息--表示请求已接收,继续处理html
2xx:成功--表示请求已被成功接收、理解、接受web
3xx:重定向--要完成请求必须进行更进一步的操做浏览器
4xx:客户端错误--请求有语法错误或请求没法实现缓存
5xx:服务器端错误--服务器未能实现合法的请求服务器
200 OK 表示请求成功 一切正常并发
301 Moved Permanently 重定向,客户请求的文档在其余地方,新的URL在Location头中给出,浏览器应该自动地访问新的URLpost
302 Found 临时重定向,相似于301,但新的URL应该被视为临时性的替代,而不是永久性的。搜索引擎
304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求。服务器告诉客户,原来缓冲的文档还能够继续使用。spa
307 Temporary Redirect 临时重定向,与302相似,只是强制要求使用POST方法。.net
400 Bad Request 请求出现语法错误。
401 Unauthorized 客户试图未经受权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,而后在填 写合适的Authorization头后再次发出请求。
403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。一般因为服务器上文件或目录的权限设置致使
404 Not Found 没法找到指定位置的资源。
405 Method Not Allowed 请求方法(GET、POST、HEAD、Delete、PUT、TRACE等)对指定的资源不适用。
500 Internal Server Error 服务器遇到了意料不到的状况,不能完成客户的请求。
501 Not Implemented 服务器不支持实现请求所须要的功能。
502 Bad Gateway 服务器做为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。
301 状态码(Moved Permanently) 301状态码在HTTP1.0和HTTP1.1规范中均表明永久重定向,对于post请求的重定向,仍是须要用户确认以后才能重定向,而且应该以post方法发出重定向请求。 关于post请求重定向用户确认的问题,实际上浏览器都没有实现;并且post请求的重定向应该发起post请求,这里浏览器也并不必定遵照,因此说HTTP规范的实现并未严格按照HTTP规范的语义。
302 状态码(Moved Temporatily) 在http 1.0规范中,302表示临时重定向。出现该状态代码时,浏览器可以自动访问新的URL。 规范:原请求是get,能够自动重定向;原请求是post,则不能自动进行重定向。 实现:浏览器和服务器的实现并无严格遵照HTTP中302的规范,浏览器即使原请求是post也会自动重定向,致使规范和实现出现了二义性,由此衍生了一些问题,譬如302劫持,所以在HTTP 1.1中将302的规范细化成了303和307,但愿以此来消除二义性。
补充:302劫持——A站经过重定向到B站的资源xxoo,A站实际上什么都没作可是有一个比较友好的域名,web资源xxoo存在B站并由B站提供,可是B站的域名不那么友好,所以对搜索引擎而言,可能会保存A站的地址对应xxoo资源而不是B站,这就意味着B站出了资源版权、带宽、服务器的钱,可是用户经过搜索引擎搜索xxoo资源的时候出来的是A站,A站什么都没作却被索搜引擎广而告之用户,B站作了一切却不被用户知道,价值被A站窃取了。
303 状态码(See Other) 继承了HTTP 1.0中302的实现:不管原请求是get仍是post,均可以自动进行重定向 303响应应该禁止被缓存。重定向的相应可能被缓存。
307 状态码 继承了HTTP 1.0中302的规范:原请求是GET 或 HEAD,则浏览器能够自动重定向;原请求是 POST,则不能自动进行重定向。
30二、30三、307 状态码辨析 在HTTP 1.1中,302是再也不推荐使用的,只是为了兼容而做保留。为了细化HTTP1.0中302的语义,HTTP1.1引入了 303 和 307,主要用在对非 GET、HEAD 方法的响应上,而对于 GET 和 HEAD 的请求,能够自动重定向。
在 GET、HEAD 这些幂等的请求方式上,30二、30三、307 没啥区别,而对于 POST 就不一样了,大部分浏览器的302 会将 POST 请求转为 GET,而 303 规范强制将 POST 转为 GET 请求,请求地址为 header 头中的 Location,307 则不同,规范要求浏览器继续向 Location 的地址 POST 内容。
:memo: 303 和 307 的存在,归根结底是因为 POST 方法的非幂等属性引发的。
HTTP状态码 HTTP状态码 HTTP状态码详解 http重定向301/302/303/307