HTTP状态码:
HTTP响应中包含一个状态码,用来表示服务器对客户端响应的结果:
通常由三个数字组成,可以分为五大类:
1xx:临时响应,成功接受请求,要求客户端继续提交下一步请求才能完成整个处理过程;
2xx:请求已被服务器接收、理解、并接受;
3xx:未完成请求,客户端需进一步完成操作才能完成请求,通常,这些状态码是用来重定向的;
4xx:客户端的请求有错误;
5xx:服务器端出现错误;
常见状态码:
1xx:信息
100 Continue:服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求;
101 Switching Protocols:服务器转换协议,服务器将遵从客户的请求转换到另外一种协议;
102 Processing:由 webdav(RFC2518)扩展的状态码,代表处理将被继续执行;
2xx:成功
200 OK:请求成功(其后是对GET和POST请求的应答文档;
201 Created:请求被创建完成,同时新的资源被创建;
202 Accept:供处理的请求已被接受,但是处理未完成;
203 Non-quthoritative information:文档已经正常返回,但一些应答头可能不正确,因为使用的是文档的拷贝;
204 No Content:没有新文档,浏览器应该继续显示之前的文档,如果用户定期的刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的;
3xx:重定向
300 Multiple Choices:多重选择,链接列表,用户可以选择某链接到达目的地,最多允许五个地址;
301 Moved Permanently:所请求的页面已经转至新的url,服务器返回此响应时,会自动将请求者转到新位置,应使用此代码告诉Goolebot某个网页或网站已永久移动到新位置。
302 Found:所请求的页面已经临时转移至新的url,服务器目前从不同位置的网页响应请求,但请求者应继续使用原来位置来响应以后的请求。此代码与响应get和head请求的301状态码类似,会自动将请求者转到不同的位置,但不应该使用此代码来告诉goolebot某个网页或者网站已经移动,因为goolebot会继续抓取原有位置并编制索引。
303 See Other:所请求的页面可在别的页面下找到;
304 Not Modified:未按预期修改文档,客户端有缓冲的文档并发出了一个条件性的请求(一般是提供if-Modified-Since头表示客户只想比指定日期更新的文档),服务器告诉用户,原来缓冲的文档还可以继续使用。
4xx:客户端错误
400 Bad Request:服务器未能理解请求或是请求参数有误;
401 Unauthorized:请求要求身份验证。对于登录后请求的网页,服务器可能返回此响应。
402 Payment Required:此代码尚无法使用(为了将来可能的需求而预留的);
403 Forbiddden:对被请求页面的访问被禁止;
404 Not Found:服务器无法找到被请求的页面;
405 Method Not Allowed:请求中指定的方法不被允许;
406 Not Acceptable:服务器生成的响应无法被客户端所接受;
5xx:服务器错误
500 Internal Server Error:请求未完成,服务器遇到不可未知的情况;
501 Not Implemented:请求未完成,服务器不支持所请求的功能;
502 Bad Gateway:请求未完成,服务器从上游服务器收到一个无效的响应;
503 Service Unavaliable:请求未完成,服务器临时过载或当机;
504 Gateway Timeout:网关超时;
505 HTTP Version Not Supported:服务器不支持请求中指明的http协议版本;