HTTP响应状态码详解

  • 响应状态码

    HTTP状态码(HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码。所有状态码的第一个数字代表了响应的五种状态之一,介绍状态码时,一定要先说明状态码分类,再举例说明一些具体的状态码含义

  • 状态码分类

    分类 描述
    1XX 信息,服务器收到请求,需要请求者继续执行操作
    2XX 成功,操作被成功接收并处理
    3XX 重定向,需要进一步的操作以完成请求。通常,这些状态代码用来重定向
    4XX 客户端错误,请求包含语法错误或无法完成请求
    5XX 服务器错误,服务器在处理请求的过程中发生了错误
  • 状态码大全

    1XX系列

    状态码 英文名称 描述
    100 Continue 继续,客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分
    101 Switching Protocols 切换协议,服务器已经理解了客户端的请求,并将通过Upgrade 消息头通知客户端采用不同的协议来完成这个请求。只有在切换新的协议更有好处的时候才应该采取类似措施。例如,切换到wesocket协议

    2XX系列

    状态码 英文名称 描述
    200 OK 请求成功。服务器已成功处理了请求
    201 Created 已创建。成功请求并创建了新的资源
    202 Accepted 已接受。已经接受请求,但未处理完成
    202 Accepted 已接受。已经接受请求,但未处理完成
    203 Non-Authoritative Information 非授权信息。请求成功,但返回的meta信息不在原始的服务器,而是一个副本,返回的信息可能来自另一来源
    204 No Content 无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
    205 Reset Content 重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
    206 Partial Content 部分内容。服务器成功处理了部分GET请求

    3XX系列

    状态码 英文名称 描述
    300 Multiple Choices 多种选择。 针对请求,服务器可执行多种操作。服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
    301 Moved Permanently 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
    302 Found 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
    303 See Other 查看其它地址。与301类似。请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
    304 Not Modified 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
    305 Use Proxy 使用代理。所请求的资源必须通过代理访问
    306 Unused 已经被废弃的HTTP状态码。在最新版的规范中,306状态码已经不再被使用。
    307 Temporary Redirect 临时重定向。与302类似。使用GET请求重定向

    4XX系列

    状态码 英文名称 描述
    400 Bad Request 错误请求。1、语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求。2、请求参数有误。
    401 Unauthorized 未授权。请求要求用户的身份认证
    402 Payment Required 该状态码是为了将来可能的需求而预留的。
    403 Forbidden 禁止。服务器已经理解请求,但是拒绝执行它。与401响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交。通常没有权限
    404 Not Found 未找到。服务器无法根据客户端的请求找到资源(网页)
    405 Method Not Allowed 方法禁用。客户端请求中的方法被禁止。例如史允许使用get方式访问,使用post就是得到405
    406 Not Acceptable 不接受。无法使用请求的内容特性响应请求的网页。
    407 Proxy Authentication Required 需要代理授权。此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
    408 Request Time-out 请求超时。 服务器等待客户端发送的请求时间过长,超时
    409 Conflict 冲突。服务器在完成请求时发生冲突。服务器必须在响应中包含有关冲突的信息。
    410 Gone 已删除。客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
    411 Length Required 需要有效长度。服务器不接受不含有效内容长度标头字段的请求。服务器无法处理客户端发送的不带Content-Length的请求信息
    412 Precondition Failed 未满足前提条件。服务器未满足请求者在请求中设置的其中一个前提条件。
    413 Request Entity Too Large 请求实体过大。由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
    414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理
    415 Unsupported Media Type 不支持的媒体类型。请求的格式不受请求页面的支持。例如服务端Content-Type指定只能application/json格式,使用其他格式访问就会415
    416 Requested range not satisfiable 请求范围不符合要求。如果页面无法提供请求的范围,则服务器会返回此状态代码。
    417 Expectation Failed 未满足期望值。服务器无法满足Expect的请求头信息。

    5XX系列

    状态码 英文名称 描述
    500 Internal Server Error 服务器内部错误。服务器遇到错误,无法完成请求。
    501 Not Implemented 尚未实施。服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
    502 Bad Gateway 错误网关。服务器作为网关或代理,从上游服务器收到无效响应。
    503 Service Unavailable 服务不可用。服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态。
    504 Gateway Time-out 网关超时。服务器作为网关或代理,但是没有及时从上游服务器收到请求。
    505 HTTP Version not supported HTTP 版本不受支持。服务器不支持请求中所用的 HTTP 协议版本。

你可能感兴趣的:(网络)