高级java每日一道面试题-2024年8月06日-web篇-http响应码都有哪些?

如果有遗漏,评论区告诉我进行补充

面试官: http响应码都有哪些?

我回答:

在Java高级面试中,关于HTTP响应码的提问是常见的,因为这些响应码是Web开发中处理HTTP请求和响应时的重要部分。HTTP响应码由三位数字组成,它们分为五类,分别代表不同的请求状态。以下是HTTP响应码的详细分类和解释:

1. 1xx(信息性状态码)

这类状态码表示接收到请求并且继续处理。最常见的状态码是100(Continue),表示客户端可以继续发送请求的其余部分,或101(Switching Protocols)表示服务器将遵照Upgrade请求头中指定的协议进行协议切换。

  • 100 Continue:继续。客户端应当继续发送请求。这个临时响应是用来通知客户端它的部分请求已经被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽略这个响应。
  • 101 Switching Protocols:切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到WebSocket协议。

2. 2xx(成功状态码)

这类状态码表示请求已成功被服务器接收、理解,并接受了。最常见的是200(OK),表示请求已成功,还有201(Created)用于POST请求成功创建了资源,204(No Content)表示服务器成功处理了请求,但没有返回任何内容。

  • 200 OK:请求成功。服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
  • 201 Created:已创建。请求成功并且服务器创建了新的资源。
  • 202 Accepted:已接受。服务器已接受请求,但尚未处理。
  • 203 Non-Authoritative Information:非授权信息。服务器已成功处理了请求,但返回的信息可能来自另一来源。
  • 204 No Content:无内容。服务器成功处理了请求,但没有返回任何内容。
  • 205 Reset Content:重置内容。服务器成功处理了请求,但没有返回任何内容。
  • 206 Partial Content:部分内容。服务器成功处理了部分GET请求。

3. 3xx(重定向状态码)

这类状态码表示需要客户端采取进一步的操作才能完成请求。例如,301(Moved Permanently)表示请求的资源已被永久移动到新位置,302(Found)或临时重定向(Temporary Redirect)表示请求的资源暂时位于不同的URI。

  • 300 Multiple Choices:多种选择。针对请求,服务器可执行多种操作。
  • 301 Moved Permanently:永久移动。请求的网页已永久移动到新位置。当搜索引擎和用户访问旧地址时,会自动转到新地址。
  • 302 Found:临时移动。服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
  • 303 See Other:查看其他位置。请求者应当对不同的位置使用单独的GET请求来检索响应时,服务器返回此代码。
  • 304 Not Modified:未修改。自从上次请求后,请求的网页未修改过。
  • 307 Temporary Redirect:临时重定向。与302类似,但明确要求客户端今后的请求应使用新的URL地址,且不允许从POST改为GET。

4. 4xx(客户端错误状态码)

这类状态码表示请求包含语法错误或无法完成请求。常见的有:

  • 400 Bad Request:错误请求。服务器无法理解请求的格式,客户端不应当重试,而是应当返回和修正请求。
  • 401 Unauthorized:未授权。请求要求身份验证。
  • 403 Forbidden:禁止。服务器拒绝请求。
  • 404 Not Found:未找到。服务器找不到请求的网页。
  • 405 Method Not Allowed:方法禁用。禁用请求中指定的方法。
  • 408 Request Timeout:请求超时。服务器等候请求时发生超时。
  • 409 Conflict:请求的资源与资源的当前状态发生冲突。
  • 418 I’m a teapot:这是一个非官方的幽默状态码,通常用于拒绝茶壶泡咖啡的请求。

5. 5xx(服务器错误状态码)

这类状态码表示服务器在处理请求的过程中发生了错误。常见的有:

  • 500 Internal Server Error:服务器内部错误。服务器遇到错误,无法完成请求。
  • 501 Not Implemented:尚未实施。服务器不具备完成请求的功能。
  • 502 Bad Gateway:错误网关。服务器作为网关或代理,从上游服务器收到无效响应。
  • 503 Service Unavailable:服务不可用。服务器目前无法使用(由于超载或停机维护)。
  • 504 Gateway Timeout:网关超时。服务器作为网关或代理,但是没有及时从上游服务器收到请求。

总结

HTTP响应码是Web开发中非常重要的一部分,它们帮助开发者理解HTTP请求的处理状态和结果。在Java高级面试中,掌握这些响应码的含义和用法是非常必要的。以上信息来源于多个权威来源,包括CSDN博客和知乎专栏等,以确保其准确性和可靠性。

  • 20
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

java我跟你拼了

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值