HTTP 状态码

文章目录

  • 状态码
    • 1xx:消息/临时响应
      • 100:Continue继续请求
      • 101:Switching Protocols切换协议
    • 2xx:成功
      • 200:OK成功
      • 201:Created已创建
      • 202:Accepted已接受
      • 203:Non-Authoritative Information非权威信息
      • 204:No Content无内容
      • 205:Reset Content重置内容
      • 206:Partial Content部分内容
    • 3xx:重定向
      • 300:Multiple Choices多种选择
      • 301:Moved Permanently永久移动
      • 302:Move Temporarily临时移动
      • 303:See Other
      • 304:Not Modified未修改
      • 305:Use Proxy使用代理
      • 306:Switch Proxy切换代理
      • 307:Temporary Redirect临时重定向
    • 4xx:请求错误
      • 400:Bad Request错误请求
      • 401:Unauthorized未授权
      • 403:Forbidden禁止
      • 404:Not Found未找到
      • 405:Method Not Allowed方法禁用
      • 406:Not Acceptable不接受
      • 407:Proxy Authentication Required需要代理授权
      • 408:Request Timeout请求超时
      • 409:Conflict冲突
      • 410:Gone已删除
      • 411:Length Required需要有效长度
      • 412:Precondition Failed未满足先决条件
      • 413:Request Entity Too Large请求实体过大
      • 414:Request-URI Too Long请求URI过长
      • 415:Unsupported Media Type不支持的媒体类型
      • 416:Requested Range Not Satisfiable请求范围不符合要求
      • 417:Expectation Failed未满足期望值
    • 5xx:服务器错误
      • 500:Internal Server Error服务器内部错误
      • 501:Not Implemented未实施
      • 502:Bad Gateway错误网关
      • 503:Service Unavailable服务不可用
      • 504:Gateway Timeout网关超时
      • 505:HTTP Version Not Supported版本不受支持

状态码

1xx:消息/临时响应

请求已接受,临时响应,需要请求者继续处理。

100:Continue继续请求

请求者应当继续提出请求。服务器已收到请求的一部分,正在等待客户端发送其余部分。

101:Switching Protocols切换协议

服务器已经理解客户端请求,通过Upgrade消息头通知客户端采用不同的协议来完成请求。发送完响应后服务器会切换到定义的协议。

2xx:成功

请求被服务器成功接收、理解并接受。

200:OK成功

请求成功,请求的响应头或数据体将随之返回。表示正常状态。

201:Created已创建

请求已经被实现,新的资源依据请求的需要被创建,URI随Location头信息返回。

202:Accepted已接受

服务器接受请求但未处理。适用异步操作的场合。目的是允许服务器接收其他过程的请求,应当在返回的试题中包含指示处理当前状态的信息、监视器、指针等。

203:Non-Authoritative Information非权威信息

服务器成功处理请求,但返回的内容非原始服务器内容,有可能来自本地或第三方。比如说代理获取内容时做出一些改动,与原始服务器的数据可能不完全一致。

204:No Content无内容

服务器成功处理请求但不需要返回任何实体内容,仅返回更新的元信息。禁止包含任何消息体。

205:Reset Content重置内容

服务器成功处理请求且没有返回内容,但是需要请求者重置文档视图。主要应用于接受用户输入后立即重置表单,以便用户再次输入。禁止包含任何消息体。

206:Partial Content部分内容

服务器成功处理了部分GET请求,类似于文件分片下载、断点续传等。

3xx:重定向

表示重定向,后续的请求地址(重定向目标)在本次响应的Location中指明。需要客户端采取进一步操作才能完成请求。

仅后续请求方法为GET或HEAD,用户浏览器才没有用户介入的情况下自动提交后续请求。客户端自动监测循环重定向,不应当访问超过5次的重定向。

300:Multiple Choices多种选择

被请求的资源有一系列的可选择的信息,每个都有自己的地址与信息,用户或浏览器能够自行选择一个首选地址进行重定向。

除非是HEAD请求,否则响应应当包含一个列表实体,列出每一项的资源特性与地址。

如果服务器有首选的回馈选择,应当在Location中指明其URI,浏览器可能会将这个Location值作为自动重定向的地址。

301:Moved Permanently永久移动

被请求的资源已经永久移动到新位置,新的永久URI应当在响应的Location中返回。除非是HEAD请求,否则应当在响应实体中包含指向新URI的链接与简短说明。

302:Move Temporarily临时移动

请求的资源临时从不同的URI响应请求。因为是临时重定向,客户端之后应当继续向原有地址发送请求。只有当Cache-Control与Expires中指定时该响应才是可缓存的。

303:See Other

请求对应的资源存在另一个URI,应使用GET方法定向获取。

303与302有同样的功能,而303明确表示应当采用GET方法,使POST请求重定向为GET。

304:Not Modified未修改

客户端发送了带条件的GET请求且请求已被允许,而文档的内容据条件自上次访问没有改变,则返回304。禁止包含消息体。

响应头应当包括Date、ETag/Content-Location、Expires/Cache-Control/Vary。

305:Use Proxy使用代理

请求的资源必须通过代理访问,Location域给出指定代理的URI信息;接收者需要通过代理重复发送单独的请求访问资源。只有原始服务器才能建立305响应。

306:Switch Proxy切换代理

已经不用惹。

307:Temporary Redirect临时重定向

303与307都是对302的细化与规范;307中,如果请求非GET/HEAD,则浏览器禁止自动重定向(向新URI发送请求),必须与用户确认是否重发。

4xx:请求错误

客户端发生错误,妨碍了服务器处理。除非是HEAD请求,否则应当返回解释当前错误状况的实体,以及是临时的/永久的状况。

400:Bad Request错误请求

  1. 语义有误,当前请求无法被服务器理解。除非经过修改,客户端不应当重复提交此请求。
  2. 请求参数有误。

401:Unauthorized未授权

当前请求需要用户验证。客户端可以重复提交一个包含恰当Authorization头信息的请求。若当前请求已包含则代表服务器拒绝证书。

403:Forbidden禁止

服务器已理解请求但是拒绝执行。与401不同的是,身份验证不能提供帮助,且这个请求也不应当被重复提交。如果不是HEAD请求则服务器应当在实体中说明拒绝的原因,或是返回404响应。

404:Not Found未找到

请求失败,所请求的资源未在服务器上发现。没有信息代表该状况是暂时或永久的,如果服务器知道则应当使用410来告知旧资源因为内部配置已永久不可用且无跳转地址。

404广泛用于服务器不想揭示请求为何被拒或没有其他合适的响应可用。最可能的情况是没有页面。

405:Method Not Allowed方法禁用

请求中指定的方法不能被用于请求相应的资源,该响应必须返回一个Allow头信息来表示当前资源能够接受的请求方法列表。

例如PUT、DELETE操作方法会对服务器资源进行写操作,所以大部分网页服务器不支持该请求,会返回405.

406:Not Acceptable不接受

请求的资源其内容特性无法满足请求头的条件,因此无法生成响应实体。除非是HEAD请求,否则应当返回一个包含可选择的最合适的列表实体,每一项包含其特性与地址列表。

407:Proxy Authentication Required需要代理授权

与401类似,但是客户端必须在代理服务器上进行身份验证,使用Proxy-Authorization信息头进行身份询问与验证。

408:Request Timeout请求超时

请求超时:客户端未在服务器预备等待时间内完成请求的发送,可以随时再次提交相同请求。

409:Conflict冲突

被请求的资源状态(版本)冲突导致请求无法完成。仅当用户被认为能够解决冲突且会重新提交新请求时使用。响应应当包含足够信息来说明冲突源头。

410:Gone已删除

请求的资源在服务器上已经不再可用,且没有已知的转发地址。该状况应当是永久的。如果可能,客户端应当删除指向这个地址的引用。如果服务器不确定是否为永久性则应当返回404。非额外说明则该响应可缓存。

411:Length Required需要有效长度

服务器拒绝在没有定义Content-Length头的情况下接受请求。添加了表明消息体有效长度Content-Length头后客户端可再次请求。

412:Precondition Failed未满足先决条件

服务器验证请求头字段中设置的先决条件时,没能满足其中的一个或多个。

413:Request Entity Too Large请求实体过大

服务器拒绝处理当前请求,因为请求提交的实体数据大小超过了服务器愿意或能够处理的范围。

414:Request-URI Too Long请求URI过长

请求的URI超过了服务器能够解释的长度,服务器拒绝提供服务。常见于:本应使用POST方法提交的表单使用了GET方法导致查询字符串过长;重定向URI时将旧的作为新的一部分导致若干次重定向后URI过长。

415:Unsupported Media Type不支持的媒体类型

对于当前请求的方法和资源,请求中提交的实体的格式在服务器中不支持,因此请求被拒绝。

416:Requested Range Not Satisfiable请求范围不符合要求

若请求中包含Range请求头且其指定的数据范围与当前资源的可用范围不重合,而请求中未定义If-Range请求头,则返回416。

417:Expectation Failed未满足期望值

请求头Expect中指定的预期内容无法被服务器满足,或是作为代理服务器,其下一节点上Expect内容不满足。

5xx:服务器错误

代表服务器在处理请求过程中有错误或异常发生,也可能是服务器当前的软硬件资源无法完成对请求的处理。除非是HEAD请求,否则响应应当包含解释当前错误状态以及临时/永久情况的解释信息实体。

500:Internal Server Error服务器内部错误

服务器遇到了一个未曾预料的状况,导致它无法完成对请求的处理。一般是源代码错误。

501:Not Implemented未实施

服务器不支持当前请求的功能:无法识别请求方法、无法支持对任何资源的请求。

502:Bad Gateway错误网关

作为网关或代理服务器尝试执行请求时,从上游服务器接收到无效的响应。

503:Service Unavailable服务不可用

临时的服务器维护或过载使服务器当前无法处理请求。如果能够预计恢复的延迟时间,则应当在Retry-After响应头标明;如果没有标明,客户端处理同500。(某些希望拒绝客户端连接的情况也会使用)

504:Gateway Timeout网关超时

作为网关或代理服务器尝试执行请求时,未从上游服务器/辅助服务器接收到响应。

505:HTTP Version Not Supported版本不受支持

服务器拒绝或无法支持在请求中使用的HTTP版本。响应实体中应当描述为何版本不支持以及服务器支持哪些协议。

你可能感兴趣的:(前端,http,前端)