web开发中,各种HTTP状态码的含义

在JavaWeb开发中,我们会遇到各种各样的HTTP状态码问题,例如302重定向问题,404、405、500等等。下面我将对各种状态码出现的原因讲述。

HTTP状态码(HTTP Status Code)是当我们访问网页服务器,服务器做出相应的状态的3位数的数字代码。

主要包括“1xx”(消息)、“2xx” (成功)、“3xx” (重定向)、“4xx” (请求错误)和“5xx '或“6xx" (服务器错误)五种不同类型。

1xx(临时响应)

1xx (临时响应) 表示临时响应并需要请求者继续执行操作的状态代码。

# 100 Continue (继续) 
    请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分, 正在等待其余部分。
# 101 Switching Protocols (切换协议)
    请求者已要求服务器切换协议,服务器已确认并准备切换。
# 102 Processing由WebDAV (RFC 2518)
    扩展的状态码,代表处理将被继续执行。

2xx(成功)

2xx (成功) 表示成功处理了请求的状态代码。

# 200 0K (成功)
    服务器已成功处理了请求。通常, 这表示服务器提供了请求的网页。
# 201 Created (已创建)
    请求成功并且服务器创建了新的资源。
# 202 Accepted (已接受)
    服务器已接受请求, 但尚未处理。
# 203 Non-Authoritative Information (非授权信息)
    服务器已成功处理了请求,但返回的信息可能来自另一来源。
# 204 No Content (无内容)
    服务器成功处理了请求,但没有返回任何内容。
# 205 Reset Content (重置内容)
    服务器成功处理了请求,但没有返回任何内容。
# 206 Partial Content (部分内容)
    服务器成功处理了部分GET请求。
# 207 Multi-Status由WebDAV(RFC 2518)
    扩展的状态码,代表之后的消息体将是一个XML消息, 并且可能依照之前子请求数量的不同,包含一系列独 立的响应代码。

3xx(重定向)

3xx (重向)表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向。

# 300 Multiple Choices (多种选择)
    针对请求, 服务器可执行多种操作。服务器可根据请求者(useragent)选择一项操作, 或提供操作列表供请求者选择。
# 301 Moved Permanently (永久移动)
    请求的网页已永久移动到新位置。 服务 器返回此响应(对 GET或HEAD请求的响应)时,会自动将请求者转到新位置。
# 302 Move Temporarily (临时移动)
    服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
# 303 See Other (查看其他位置)
    请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码。
# 304 Not Modified (未修改)
    自从上次请求后,请求的网页未修改过。服务器返回此响应时,不会返回网页内容。
# 305 Use Proxy (使用代理)
    请求者只能使用代理访问请求的网页。如果服务器返回此响应,还表示请求者应使用代理。
# 306 Switch Proxy
    在最新版的规范中,306状态码已经不再被使用。
# 307 Temporary Redirect (临时重定向)
    服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。

4xx(请求错误)

4xx(请求错误)这些状态代码表示请求可能出错,妨碍了服务器的处理。

# 400 Bad Request (错误请求)
    服务器不理解请求的语法。
# 401 Unauthorized (未授权)
    请求要求身份验证。对于 需要登录的网页,服务器可能返回此响应。
# 402 Payment Required
    该状态码是为了将来可能的需求而预留的。
# 403 Forbidden (禁止)
    服务器拒绝请求。
# 404 Not Found (未找到)
    服务器找不到请求的网页。
# 405 Method Not Allowed (方法禁用)
    禁用请求中指定的方法。
# 406 Not Acceptable (不接受)
    无法使用请求的内容特性响应请求的网页。
# 407 Proxy Authentication Required (需要代理授权)
    此状态代码与401 (未授权)类似,但指定请求者应当授权使用代理。
# 408 Request Timeout (请求超时)
    服务器等候请求时发生超时。
# 409 Conflict (冲突)
    服务器在完成请求时发生冲突。服务 器必须在响应中包含有关冲突的信息。
# 410 Gone (已删除)
    如果请求的资源已永久删除,服务器就会返回此响应。
# 411 Length Required (需要有效长度)
    服务器不接受不含有效内容长度标头字段的请求。
# 412 Precondition Failed (未满足前提条件)
    服务器未满足请求者在请求中设置的其中一个前提条件。
# 413 Request Entity Too Large (请求实体过大)
    服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。
# 414 Request-URI Too Long (请求的URI过长)
    请求的URI (通常为网址)过长,服务器无法处理。这比较少见,通常的情况包括:本应使用POST方法的表单提交变成了GET方法,导致查询字符串(Query String)过长。
# 415 Unsupported Media Type (不支持的媒体类型)
    请求的格式不受请求页面的支持。
# 416 Requested Range Not Satisfiable (请求范围不符合要求)
    如果页面无法提供请求的范围,则服务器会返回此状态代码。
# 417 Expectation Failed (未满足期望值)
    服务器未满足”期望”请求标头字段的要求。
# 418 I'm a teapot
# 421 Misdirected Request
    请求被指向到无法生成响应的服务器(比如由于连接重复使用)。
# 422 Unprocessable Entity
    请求格式正确,但是由于含有语义错误,无法响应。(RFC 4918 WebDAV)。
# 423 Locked当前资源被锁定。(RFC 4918 WebDAV)。
# 424 Failed Dependency
    由于之前的某个请求发生的错误,导致当前请求失败,例如PROPPATCH。(RFC 4918 WebDAV),
# 425 Too Early状态码425 Too Early
    代表服务器不愿意冒风险来处理该请求,原因是处理该请求可能会被“重放”,从而造成潜在的重放攻击。(RFC 8470)。
# 426 Upgrade Required
    客户端应当切换到TLS/1.0。(RFC 2817)。
# 449 Retry With
    由微软扩展,代表请求应当在执行完适当的操作后进行重试。
# 451 Unavailable For Legal Reasons
    该请求因法律原因不可用。(RFC 7725)。

5xx(服务器错误)

5xx (服务 器错误)这些状态代码表示服务器在尝试处理请求时发生内部错误。这些错误可能是服务器本身的错

# 500 Internal Server Error (服务器内部错误)
    服务器遇到错误,无法完成请求。
# 501 Not lmplemented (尚未实施)
    服务器不具备完成请求的功能。例如,服务器无法识别请求方法时可能会返回此代码。
# 502 Bad Gateway (错误网关)
    服务器作为网关或代理,从上游服务器收到无效响应。
# 503 Service Unavailable (服务不可用)
    服务器目前无法使用(由于超载或停机维护)。通常, 这只是暂时状态。
# 504 Gateway Timeout (网关超时)
    服务器作为网关或代理,但是没有及时从上游服务器收到请求。
# 505 HTTP Version Not Supported (HTTP 版本不受支持)
    服务器不支持请求中所用的HTTP协议版本。
# 506 Variant Also Negotiates由《透明内容协商协议》(RFC 2295)
    扩展,代表服务器存在内部配置错误:被请求的协商变元资源被配置为在透明内容协商中使用自己,因此在一个协商处理中不是一 个 合适的重点。
# 507 Insufficient Storage
    服务器无法存储完成请求所必须的内容。这个状况被认为是临时的。WebDAV(RFC 4918)。
# 509 Bandwidth Limit Exceeded
    服务器达到2带宽限制。这不是一个 官方的状态码,但是仍被广泛使用。
# 510 Not Extended
    获取资源所需要的策略并没有被满足。(RFC 2774)

以上是在日常开发过程中常见的状态码对应的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值