每次做web开发时免不了出现各种错误,有时状态码也可以为我们提示错误原因,之前遇到的都是404、500之类的错误,但最近却遇到很多稀奇古怪的状态码,索性找出了大部分的状态码表,方便查询
当服务器对客户请求进行响应时,首先要发送的是状态行,然后发送HTTP头和信息体,也就是说,状态行是响应的首行。
状态行包含3位数字的状态码和对状态吗的描述,下面是5中状态码的基本含义
- 1xx(1开头的3位数):主要是实验性质的
- 2xx:表明请求成功。如状态码200可以表明已经成功取得了请求的页面
- 3xx:表明在请求满足之前应采取进一步的行动
- 4xx:当浏览器无法满足请求时,返回该状态码。如404表示请求叶不存在
- 5xx:表示服务器出问题了。如500说明服务器内部发生错误
一般不需要修改状态行,在出现问题时,response对象自动回响应,发送响应的状态码。我们也可以使用response的setStatus(int n)方法设置状态行
状态码 | 代码声明 | 状态码 | 代码声明 |
100 | 客户可以继续 | 404 | 请求的资源不可用 |
101 | 服务器正在升级协议 | 405 | 请求所用的方法时不允许的 |
201 | 请求成功且在服务器上创建了新的资源 | 406 | 请求的资源只能用请求不能接受的内容特性来响应 |
202 | 请求已经被接受但还没有处理完毕 | 407 | 客户必须得到认证 |
200 | 请求成功 | 408 | 请求超时 |
203 | 客户端给出的元信息不是发送服务器的 | 409 | 发生冲突,请求不能完成 |
204 | 请求成功,但没有新信息 | 410 | 请求的资源已经不可用 |
205 | 客户必须重置文档视图 | 411 | 请求需要一个定义的内容长度才能处理 |
206 | 服务器执行不了部分get请求 | 413 | 请求太大,被拒绝 |
300 | 请求资源有多种表示法 | 414 | 请求的URL太大 |
301 | 资源已经被永久移动到了新位置 | 415 | 请求的格式被拒绝 |
302 | 资源已经被临时移动到了新位置 | 500 | 服务器发生内部错误,不能服务 |
303 | 应答可以再另外一个URL钟找到 | 501 | 不支持请求的部分功能 |
304 | GET方式请求不可用 | 502 | 从代理和网关接受了不合法的字符 |
305 | 请求必须通过代理来访问 | 503 | HTTP服务暂时不可用 |
400 | 请求有语法错误 | 504 | 服务器在等待代理服务器应答时发生超时 |
401 | 请求需要HTTP认证 | 505 | 不支持请求的HTTP版本 |
403 | 取得了请求但拒绝服务 |