HTTP错误代码基本上可以分为5类:
1. 1xx 为消息类,该类状态代码用于表示服务器临时回应
100 Continue 表示初始化的请求已经被服务器接受,浏览器应当继续发送请求的其余部分。
101 Switching Protocols 服务器将遵从客户的请求转换到另一种协议。
2. 2xx 表示浏览器端请求被处理成功
代码 | 说明 |
200 OK | 一切正常 |
201 Created | 服务器已经创建了文档,Location头给出了它的URL |
202 Accepted | 已经接受请求,但处理尚未完成 |
203 Non-Authoritative Information | 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝 |
204 No Content | 没有新文档,浏览器应继续显示原来的文档。这与304非常相似 |
205 Reset Content | 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容 |
206 Partial Content | 客户发送了一个带有Range头的GET请求,服务器完成了它。注意,通过Range可以实现断点续传 |
3. 3xx 重定向
代码 | 说明 |
300 Multipe Choices | 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明 |
301 Moved Permanently | 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL |
302 Found | 类似于301,但新的URL应被视为临时性的替代,而不是永久性的。注意,在HTTP 1.0中对应的状态信息是“Moved Temporatily”。出现该状态代码时,浏览器能够自动访问新的URL,因此他是一个很有用的状态代码。 注意:这个状态代码有时可以和301替换使用。例如,如果浏览器错误地请求http://host/~user(缺少后面的反斜杠),有的服务器返回301,有的则返回302.严格地说,我们只能假定只有当原来的请求是GET时浏览器才会自动重定向。 |
303 See Other | 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取 |
304 Not Modified | 客户端有缓冲的文档并发出一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用 |
305 Use Proxy | 客户请求的文档应该通过Location头所指明的代理服务器提取 |
307 Temporary Redirect | 和302相同。许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时才能重定向。如果是307应答,则浏览器只能跟随对GET请求的重定向 |