让HTTP萌娘帮你记住状态码吧

Http 状态码是做Web开发的必备的基础知识,面试中也会经常出现这方面的考题。但是要记住全部的状态码不是一件容易的事,要不让 http状态码萌娘帮你记住一下?(PS:萌死不偿命噢。)

  • 200 欢迎回来,主人 (正常;请求已完成。 )
  • 301 人家搬家了 (已移动 — 请求的数据具有新的位置且更改是永久的。 )
  • 307 不是这里,换个地方啦 (重新请求的URL,客户端自动重新请求新的地址)
  • 400 不要把奇怪的东西给人家嘛 (错误请求 — 请求中有语法问题,或不能满足请求。 )
  • 403 这里不可以啦!(禁止 — 即使有授权也不需要访问。 )
  • 404 这里什么都没有 — 人家是平的啦。 (找不到 — 服务器找不到给定的资源;文档不存在。 )
  • 405 打开方式不对 (资源被禁止 )
  • 414 这… 太长了啦  (请求 – URI 太长 )
  • 418 我就是个杯具啊  (我是茶壶)
  • 500 服务姬坏掉了啦  (内部错误 — 因为意外情况,服务器不能完成请求。 )
  • 503 不要…人家还没准备好啦  (无法获得服务 — 由于临时过载或维护,服务器无法处理请求。 )
  • 101 服务姬傲娇中  (服务器将遵从客户的请求转换到另外一种协议)
  • 100 人家… 还要…  (初始的请求已经接受,客户应当继续发送请求的其余部分。)

常见的HTTP 状态代码及其定义

2xx 成功

  • 200 正常;请求已完成。
  • 201 正常;紧接 POST 命令。
  • 202 正常;已接受用于处理,但处理尚未完成。
  • 203 正常;部分信息 — 返回的信息只是一部分。
  • 204 正常;无响应 — 已接收请求,但不存在要回送的信息。

3xx 重定向

  • 301 已移动 — 请求的数据具有新的位置且更改是永久的。
  • 302 已找到 — 请求的数据临时具有不同 URI。
  • 303 请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。
  • 304 未修改 — 未按预期修改文档。
  • 305 使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。
  • 306 未使用 — 不再使用;保留此代码以便将来使用。

4xx 客户机中出现的错误

  • 400 错误请求 — 请求中有语法问题,或不能满足请求。
  • 401 未授权 — 未授权客户机访问数据。
  • 402 需要付款 — 表示计费系统已有效。
  • 403 禁止 — 即使有授权也不需要访问。
  • 404 找不到 — 服务器找不到给定的资源;文档不存在。
  • 407 代理认证请求 — 客户机首先必须使用代理认证自身。
  • 415 介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。

5xx 服务器中出现的错误

  • 500 内部错误 — 因为意外情况,服务器不能完成请求。
  • 501 未执行 — 服务器不支持请求的工具。
  • 502 错误网关 — 服务器接收到来自上游服务器的无效响应。
  • 503 无法获得服务 — 由于临时过载或维护,服务器无法处理请求。

更详细的4xx与5xx状态码

  • HTTP 400 – 请求无效
  • HTTP 401.1 – 未授权:登录失败
  • HTTP 401.2 – 未授权:服务器配置问题导致登录失败
  • HTTP 401.3 – ACL 禁止访问资源
  • HTTP 401.4 – 未授权:授权被筛选器拒绝
  • HTTP 401.5 – 未授权:ISAPI 或 CGI 授权失败
  • HTTP 403 – 禁止访问
  • HTTP 403 – 对 Internet 服务管理器 (HTML) 的访问仅限于 Localhost
  • HTTP 403.1 禁止访问:禁止可执行访问
  • HTTP 403.2 – 禁止访问:禁止读访问
  • HTTP 403.3 – 禁止访问:禁止写访问
  • HTTP 403.4 – 禁止访问:要求 SSL
  • HTTP 403.5 – 禁止访问:要求 SSL 128
  • HTTP 403.6 – 禁止访问:IP 地址被拒绝
  • HTTP 403.7 – 禁止访问:要求客户证书
  • HTTP 403.8 – 禁止访问:禁止站点访问
  • HTTP 403.9 – 禁止访问:连接的用户过多
  • HTTP 403.10 – 禁止访问:配置无效
  • HTTP 403.11 – 禁止访问:密码更改
  • HTTP 403.12 – 禁止访问:映射器拒绝访问
  • HTTP 403.13 – 禁止访问:客户证书已被吊销
  • HTTP 403.15 – 禁止访问:客户访问许可过多
  • HTTP 403.16 – 禁止访问:客户证书不可信或者无效
  • HTTP 403.17 – 禁止访问:客户证书已经到期或者尚未生效
  • HTTP 404.1 – 无法找到 Web 站点
  • HTTP 404 – 无法找到文件
  • HTTP 405 – 资源被禁止
  • HTTP 406 – 无法接受
  • HTTP 407 – 要求代理身份验证
  • HTTP 410 – 永远不可用
  • HTTP 412 – 先决条件失败
  • HTTP 414 – 请求 – URI 太长
  • HTTP 500 – 内部服务器错误
  • HTTP 500.100 – 内部服务器错误 – ASP 错误
  • HTTP 500-11 服务器关闭
  • HTTP 500-12 应用程序重新启动
  • HTTP 500-13 – 服务器太忙
  • HTTP 500-14 – 应用程序无效
  • HTTP 500-15 – 不允许请求 global.asa
  • Error 501 – 未实现
  • HTTP 502 – 网关错误

总结成表格:

状态代码 状态信息 含义
100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部分。(HTTP 1.1新)
101 Switching Protocols 服务器将遵从客户的请求转换到另外一种协议(HTTP 1.1新)
200 OK 一切正常,对GET和POST请求的应答文档跟在后面。
201 Created 服务器已经创建了文档,Location头给出了它的URL。
202 Accepted 已经接受请求,但处理尚未完成。
203 Non-Authoritative Information 文档已经正常地返回,但一些应答头可能不正确,因为使用的是文档的拷贝(HTTP 1.1新)。
204 No Content 没有新文档,浏览器应该继续显示原来的文档。如果用户定期地刷新页面,而Servlet可以确定用户文档足够新,这个状态代码是很有用的。
205 Reset Content 没有新的内容,但浏览器应该重置它所显示的内容。用来强制浏览器清除表单输入内容(HTTP 1.1新)。
206 Partial Content 客户发送了一个带有Range头的GET请求,服务器完成了它(HTTP 1.1新)。
300 Multiple Choices 客户请求的文档可以在多个位置找到,这些位置已经在返回的文档内列出。如果服务器要提出优先选择,则应该在Location应答头指明。
301 Moved Permanently 客户请求的文档在其他地方,新的URL在Location头中给出,浏览器应该自动地访问新的URL。
302 Found 类 似于301,但新的URL应该被视为临时性的替代,而不是永久性的。注意,在HTTP1.0中对应的状态信息是“Moved Temporatily”。出现该状态代码时,浏览器能够自动访问新的URL,因此它是一个很有用的状态代码。注意这个状态代码有时候可以和301替换使 用。例如,如果浏览器错误地请求http://host/~user(缺少了后面的斜杠),有的服务器返回301,有的则返回302。严格地说,我们只能 假定只有当原来的请求是GET时浏览器才会自动重定向。请参见307。
303 See Other 类似于301/302,不同之处在于,如果原来的请求是POST,Location头指定的重定向目标文档应该通过GET提取(HTTP 1.1新)。
304 Not Modified 客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以继续使用。
305 Use Proxy 客户请求的文档应该通过Location头所指明的代理服务器提取(HTTP 1.1新)。
307 Temporary Redirect 和302 (Found)相同。许多浏览器会错误地响应302应答进行重定向,即使原来的请求是POST,即使它实际上只能在POST请求的应答是303时才能重定 向。由于这个原因,HTTP 1.1新增了307,以便更加清除地区分几个状态代码:当出现303应答时,浏览器可以跟随重定向的GET和POST请求;如果是307应答,则浏览器只 能跟随对GET请求的重定向。(HTTP 1.1新)
400 Bad Request 请求出现语法错误。
401 Unauthorized 客户试图未经授权访问受密码保护的页面。应答中会包含一个WWW-Authenticate头,浏览器据此显示用户名字/密码对话框,然后在填写合适的Authorization头后再次发出请求。
403 Forbidden 资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。
404 Not Found 无法找到指定位置的资源。这也是一个常用的应答。
405 Method Not Allowed 请求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)对指定的资源不适用。(HTTP 1.1新)
406 Not Acceptable 指定的资源已经找到,但它的MIME类型和客户在Accpet头中所指定的不兼容(HTTP 1.1新)。
407 Proxy Authentication Required 类似于401,表示客户必须先经过代理服务器的授权。(HTTP 1.1新)
408 Request Timeout 在服务器许可的等待时间内,客户一直没有发出任何请求。客户可以在以后重复同一请求。(HTTP 1.1新)
409 Conflict 通常和PUT请求有关。由于请求和资源的当前状态相冲突,因此请求不能成功。(HTTP 1.1新)
410 Gone 所请求的文档已经不再可用,而且服务器不知道应该重定向到哪一个地址。它和404的不同在于,返回407表示文档永久地离开了指定的位置,而404表示由于未知的原因文档不可用。(HTTP 1.1新)
411 Length Required 服务器不能处理请求,除非客户发送一个Content-Length头。(HTTP 1.1新)
412 Precondition Failed 请求头中指定的一些前提条件失败(HTTP 1.1新)。
413 Request Entity Too Large 目标文档的大小超过服务器当前愿意处理的大小。如果服务器认为自己能够稍后再处理该请求,则应该提供一个Retry-After头(HTTP 1.1新)。
414 Request URI Too Long URI太长(HTTP 1.1新)。
416 Requested Range Not Satisfiable 服务器不能满足客户在请求中指定的Range头。(HTTP 1.1新)
500 Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。
501 Not Implemented 服务器不支持实现请求所需要的功能。例如,客户发出了一个服务器不支持的PUT请求。
502 Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但该服务器返回了非法的应答。
503 Service Unavailable 服务器由于维护或者负载过重未能应答。例如,Servlet可能在数据库连接池已满的情况下返回503。服务器返回503时可以提供一个Retry-After头。
504 Gateway Timeout 由作为代理或网关的服务器使用,表示不能及时地从远程服务器获得应答。(HTTP 1.1新)
505 HTTP Version Not Supported 服务器不支持请求中所指明的HTTP版本。(HTTP 1.1新)

觉得不够瘾?喵星人再给你演示一遍 http 状态码吧!

转载自:简明现代魔法 http://www.nowamagic.net/librarys/veda/detail/2084

你可能感兴趣的:(让HTTP萌娘帮你记住状态码吧)