常见http状态码总结

200:服务器响应成功
204:请求处理成功,但无资源返回,一般只需要从客户端往服务端发送信息,而对客户端不需要发送新消息内容的情况下使用
206:客户端进行了范围请求,range指定范围,当请求字段if-range的值等于Etag时,范围请求成功,返回206;否则返回的是200
301:永久重定向
302:临时重定向

301与302区别: 301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址; 302重定向是暂时的重定向,搜索引擎会抓取新的内容而保留旧的网址;

网络劫持:由于搜索引擎排名算法只是程序而不是人,在遇到302重定向的时候,并不能像人一样的去准确判定哪一个网址更适当,这就造成了网址URL劫持的可能性。也就是说,一个不道德的人在他自己的网址A做一个302重定向到你的网址B,出于某种原因, Google搜索结果所显示的仍然是网址A,但是所用的网页内容却是你的网址B上的内容,这种情况就叫做网址URL劫持。你辛辛苦苦所写的内容就这样被别人偷走了。

303:该状态码表示由于请求对应的资源存在着另一个 URI,应使用 GET方法定向获取请求的资源。303 状态码和 302 Found 状态码有着相同的功能,但 303 状态码明确表示客户端应当采用 GET 方法获取资源,这点与 302 状态码有区别

304:页面未修改,产生的条件是:客户端缓存了目标资源,但当cache-control的max-age表示资源过期,就会发送请求,如果有etag信息,当请求头字段If-None-Match与 ETag如果相同,说明没有改动过,响应状态码304,即通知客户端资源没有改变,你可以使用自己的缓存,不一致 ,服务器响应;如果没有etag信息,判断有无Last-Modified信息,有则比较Last-Modified/If-Modified-Since如果相同,说明没有改动过,响应状态码304,即通知客户端资源没有改变,你可以使用自己的缓存,不一致 ,服务器响应

307:临时重定向。该状态码与 302 Found 有着相同的含义。尽管 301,302 ,303浏览器会把 POST 变换成 GET,但实际使用时大家并不遵守。307 会遵照浏览器标准,不会从 POST 变成 GET。但是,对于处理响时的行为,每种浏览器有可能出现不同的情况
400:该状态码表示请求报文中存在语法错误
401:未授权, 客户端在授权头信息中没有有效的身份信息时访问受到密码保护的页面
403:禁止访问, 除非拥有授权否则服务器拒绝提供所请求的资源
404:页面未找到, 客户端所给的地址无法找到任何资源
500:服务器内部错误
502: 网关错误
503:服务器未响应

你可能感兴趣的:(常见http状态码总结)