HTTP的响应状态码

响应状态代码有三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

常见状态码:
  • 100~199:表示服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。
  • 200~299:表示服务器成功接收请求并已完成整个处理过程。常用200(OK 请求成功)。
  • 300~399:为完成请求,客户需进一步细化请求。例如:请求的资源已经移动一个新地址、常用302(所请求的页面已经临时转移至新的url)、307和304(使用缓存资源)。
  • 400~499:客户端的请求有错误,常用404(服务器无法找到被请求的页面)、403(服务器拒绝访问,权限不够)。
  • 500~599:服务器端出现错误,常用500(请求未完成。服务器遇到不可预知的情况)。

状态码

含义

1xx

100

服务器仅接收到部分请求,但是一旦服务器并没有拒绝该请求,客户端应该继续发送其余的请求。

101

服务器转换协议:服务器将遵从客户的请求转换到另外一种协议。

2xx

200

请求成功(其后是对GET和POST请求的应答文档)

201

请求被创建完成,同时新的资源被创建。

202

供处理的请求已被接受,但是处理未完成。

203

文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝。

204

没有新文档。浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。

205

没有新文档。但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容。

206

客户发送了一个带有Range头的GET请求,服务器完成了它。

3xx

300

多重选择。链接列表。用户可以选择某链接到达目的地。最多允许五个地址

301

所请求的页面已经转移至新的url。

302

所请求的页面已经临时转移至新的url。

303

所请求的页面可在别的url下被找到。

304

未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。

305

客户请求的文档应该通过Location头所指明的代理服务器提取。

306

此代码被用于前一版本。目前已不再使用,但是代码依然被保留。

307

被请求的页面已经临时移至新的url。

4xx

400

服务器未能理解请求。

401

被请求的页面需要用户名和密码。

402

此代码尚无法使用。

403

对被请求页面的访问被禁止。

404

服务器无法找到被请求的页面。

405

请求中指定的方法不被允许。

406

服务器生成的响应无法被客户端所接受。

407

用户必须首先使用代理服务器进行验证,这样请求才会被处理。

408

请求超出了服务器的等待时间。

409

由于冲突,请求无法被完成。

410

被请求的页面不可用。

5xx

请求未完成。服务器遇到不可预知的情况。

500

应用程序正忙于在 Web 服务器上重新启动。

501

请求未完成。服务器不支持所请求的功能。

502

请求未完成。服务器从上游服务器收到一个无效的响应。

503

请求未完成。服务器临时过载或当机。

504

网关超时。

505

服务器不支持请求中指明的HTTP协议版本。