【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状态码

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

 

完结!


相关文章
|
2月前
|
Shell
HTTP状态码解析:在Haskell中判断响应成功与否
HTTP状态码解析:在Haskell中判断响应成功与否
|
1月前
|
开发者
深入了解HTTP状态码
深入了解HTTP状态码
175 64
|
3月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之遇到报错:HTTP状态码400,该如何处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
1月前
|
缓存 网络协议 JavaScript
【HTTP】构造HTTP请求和状态码
【HTTP】构造HTTP请求和状态码
53 1
【HTTP】构造HTTP请求和状态码
|
1月前
|
缓存 应用服务中间件 nginx
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
53 8
|
1月前
|
缓存 前端开发 安全
前端开发者必备:HTTP状态码含义与用途解析,常见错误码产生原因及解决策略
前端开发者必备:HTTP状态码含义与用途解析,常见错误码产生原因及解决策略
109 0
|
2月前
|
Java 应用服务中间件 Maven
JavaWeb基础5——HTTP,Tomcat&Servlet
JavaWeb技术栈、HTTP、get和post区别、响应状态码、请求响应格数据式、IDEA使用Tomcat、报错解决、Servlet的体系结构、IDEA使用模板创建Servlet
JavaWeb基础5——HTTP,Tomcat&Servlet
|
2月前
|
开发者
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
HTTP状态码是由网页服务器返回的三位数字响应代码,用于表示请求的处理结果和状态
32 1
|
2月前
|
测试技术 API
8-20|https://gitlab.xx.com/api/v4/projects/4/trigger/pipeline Request failed 状态码400
8-20|https://gitlab.xx.com/api/v4/projects/4/trigger/pipeline Request failed 状态码400
|
2月前
|
API
探索研究Servlet HTTP 状态码
【9月更文挑战第24天】
38 0