【JavaWeb】HTTP状态码100、200、300、400、500、600的含义

简介: 【JavaWeb】HTTP状态码100、200、300、400、500、600的含义

HTTP状态码(HTTP Status Code) 是当我们访问网页服务器,服务器做出相应的状态的3位数的数字代码。主要包括“1xx”(消息)、“2xx”(成功)、“3xx”(重定向)、“4xx”(请求错误)和“5xx”或“6xx”(服务器错误)五种不同类型。

比较常见的状态码有:

HTTP: Status 200 – 服务器成功返回网页

HTTP: Status 404 – 请求的网页不存在

HTTP: Status 503 – 服务不可用

一、1xx (临时响应)

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

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

二、2xx (成功)

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

  • 200 OK(成功) 服务器已成功处理了请求。 通常,这表示服务器提供了请求的网页。
  • 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 Implemented(尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
  • 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   服务器达到带宽限制。这不是一个官方的状态码,但是仍被广泛使用。
  • 510 Not Extended  获取资源所需要的策略并没有被满足。(RFC 2774)

六、6xx

  • 600 Unparseable Response Headers  源站没有返回响应头部,只返回实体内容。

 

以上内容仅为学习交流使用,请勿用作商业用途!

 

【参考资料】

1、图书:《图解HTTP》

2、百度百科:HTTP状态码

版权归原作者所有,如有侵权请立即与博主联系,将会及时处理!

 

完结!


相关文章
|
3月前
|
存储 缓存 安全
第二章 HTTP请求方法、状态码详解与缓存机制解析
第二章 HTTP请求方法、状态码详解与缓存机制解析
|
2月前
|
XML 网络协议 Java
JavaWeb -- HTTP -- WEB服务器TOMCAT
JavaWeb -- HTTP -- WEB服务器TOMCAT
|
3月前
状态码对于理解HTTP请求和响应的流程,以及调试网络问题非常重要
【5月更文挑战第15天】HTTP状态码由三位数字表示,分为1xx-5xx五类。1xx为信息响应,2xx表示成功,如200(请求成功)、201(创建成功)。3xx是重定向,如301(永久移动)、302(临时重定向)。4xx表示客户端错误,如400(坏请求)、404(未找到)。5xx是服务器错误,包括500(内部服务器错误)和503(服务不可用)。这些状态码用于理解请求响应流程和调试网络问题。
39 1
|
2天前
|
缓存 开发者 UED
HTTP状态码
【8月更文挑战第17天】HTTP状态码
6 1
|
24天前
|
缓存 程序员 开发者
HTTP状态码大全:如何读懂服务器的语言?
大家好,我是小米,今天我们来聊聊HTTP协议中的GET和POST请求。它们在数据传输方式、安全性和应用场景上有不同特点。本文将详细解析它们的区别和特点,帮助你更好地理解和运用这两种请求方式。让我们一起学习吧!
30 1
|
4天前
|
网络协议 安全
常见的HTTP响应状态码有哪些?
常见的HTTP响应状态码有哪些?
11 0
|
1月前
|
缓存 JSON 算法
http【详解】状态码,方法,接口设计 —— RestfuI API,头部 —— headers,缓存
http【详解】状态码,方法,接口设计 —— RestfuI API,头部 —— headers,缓存
34 0
|
1月前
|
缓存 网络协议 小程序
计算机网络——HTTP 状态码
计算机网络——HTTP 状态码
|
2月前
|
Java
JSP 教程 之 JSP HTTP 状态码 4
JSP教程讲解了HTTP状态码的使用,包括HTTP响应的结构和设置状态码的方法:通过HttpServletResponse的setStatus、sendRedirect及sendError。示例展示了如何发送407错误码,浏览器显示"Need authentication!!!"。
24 1
|
2月前
|
Java 数据安全/隐私保护
JSP 教程 之 JSP HTTP 状态码 2
JSP教程讲解了HTTP状态码,包括成功、重定向、客户端错误和服务器错误等类别。例如,200表示请求成功,404表示页面未找到,500表示服务器内部错误。这些状态码帮助理解HTTP通信过程中发生的问题。
32 2