Interview AiBox logo

Interview AiBox 实时 AI 助手,让你自信应答每一场面试

download免费下载
基础local_fire_department11 次面试更新于 2025-09-03account_tree思维导图

请列举常用的HTTP状态码及其含义

lightbulb

题型摘要

HTTP状态码是服务器响应的三位数字代码,分为五大类:1xx(信息响应)、2xx(成功)、3xx(重定向)、4xx(客户端错误)和5xx(服务器错误)。最常用的状态码包括:200(成功)、201(已创建)、301(永久重定向)、302(临时重定向)、304(未修改)、400(错误请求)、401(未授权)、403(禁止访问)、404(未找到)、429(请求过多)、500(服务器内部错误)、502(网关错误)、503(服务不可用)和504(网关超时)。正确理解和使用HTTP状态码对于Web开发和运维至关重要,它们帮助客户端理解请求处理结果并采取相应措施。

HTTP状态码及其含义

HTTP状态码是服务器响应客户端请求时返回的三位数字代码,用于表示请求的处理结果。根据第一位数字,HTTP状态码分为五大类。

HTTP状态码分类结构

--- title: HTTP状态码分类结构 --- graph TD A["HTTP状态码"] --> B["1xx: 信息响应"] A --> C["2xx: 成功响应"] A --> D["3xx: 重定向"] A --> E["4xx: 客户端错误"] A --> F["5xx: 服务器错误"] B --> B1["100 Continue"] B --> B2["101 Switching Protocols"] C --> C1["200 OK"] C --> C2["201 Created"] C --> C3["204 No Content"] D --> D1["301 Moved Permanently"] D --> D2["302 Found"] D --> D3["304 Not Modified"] E --> E1["400 Bad Request"] E --> E2["401 Unauthorized"] E --> E3["403 Forbidden"] E --> E4["404 Not Found"] E --> E5["405 Method Not Allowed"] E --> E6["408 Request Timeout"] E --> E7["429 Too Many Requests"] F --> F1["500 Internal Server Error"] F --> F2["502 Bad Gateway"] F --> F3["503 Service Unavailable"] F --> F4["504 Gateway Timeout"]

1xx:信息响应(Informational)

表示请求已接收,继续处理。

状态码 名称 含义
100 Continue 服务器已收到请求的初始部分,客户端应继续发送请求的剩余部分
101 Switching Protocols 服务器理解并同意切换请求中指定的协议
102 Processing 服务器已收到并正在处理请求,但尚未完成

2xx:成功响应(Success)

表示请求已成功被服务器接收、理解、并接受。

状态码 名称 含义
200 OK 请求成功,是最常见的状态码
201 Created 请求成功并且服务器创建了新的资源
202 Accepted 服务器已接受请求,但尚未处理
204 No Content 服务器成功处理了请求,但没有返回任何内容
206 Partial Content 服务器成功处理了部分GET请求,用于分块下载

3xx:重定向(Redirection)

表示需要后续操作才能完成请求。

状态码 名称 含义
301 Moved Permanently 请求的资源已永久移动到新位置,搜索引擎会更新索引
302 Found 请求的资源临时移动到新位置,搜索引擎不会更新索引
304 Not Modified 资源未被修改,可使用缓存的版本
307 Temporary Redirect 请求的资源临时移动到新位置,保持请求方法不变
308 Permanent Redirect 请求的资源永久移动到新位置,保持请求方法不变

4xx:客户端错误(Client Error)

表示请求包含语法错误或无法完成请求。

状态码 名称 含义
400 Bad Request 服务器无法理解请求的格式
401 Unauthorized 请求需要用户认证
403 Forbidden 服务器理解请求但拒绝执行
404 Not Found 服务器找不到请求的资源
405 Method Not Allowed 请求方法不被允许
408 Request Timeout 服务器等待请求时超时
413 Payload Too Large 请求实体过大
414 URI Too Long 请求的URI过长
429 Too Many Requests 客户端在给定时间内发送了太多请求(限流)

5xx:服务器错误(Server Error)

表示服务器在处理请求的过程中发生了错误。

状态码 名称 含义
500 Internal Server Error 服务器内部错误,无法完成请求
501 Not Implemented 服务器不支持请求的功能
502 Bad Gateway 服务器作为网关需要得到一个处理这个请求的响应,但是未得到
503 Service Unavailable 服务器当前无法处理请求(过载或停机维护)
504 Gateway Timeout 服务器作为网关需要得到一个处理这个请求的响应,但是未及时得到
505 HTTP Version Not Supported 服务器不支持请求的HTTP协议版本

HTTP状态码使用场景

--- title: HTTP状态码常见使用场景 --- graph LR A["客户端请求"] --> B{"请求类型"} B -->|正常请求| C["200 OK"] B -->|创建资源| D["201 Created"] B -->|资源不存在| E["404 Not Found"] B -->|无权限| F["403 Forbidden"] B -->|需要认证| G["401 Unauthorized"] B -->|资源已移动| H["301/302 Redirect"] B -->|服务器错误| I["500/503 Error"] B -->|请求过多| J["429 Too Many Requests"]

实际应用中的注意事项

  1. API设计:在RESTful API中,合理使用状态码可以使API更加语义化,例如使用201表示资源创建成功,使用409表示资源冲突。

  2. SEO优化:对于网站迁移,使用301永久重定向而不是302临时重定向,有助于搜索引擎更新索引。

  3. 错误处理:客户端应用应根据不同的状态码提供相应的用户反馈,例如404显示"页面不存在",403显示"无权访问"等。

  4. 性能优化:利用304状态码实现缓存机制,减少不必要的数据传输,提高性能。

  5. 安全考虑:对于敏感操作,确保使用401和403状态码进行适当的权限控制,避免信息泄露。

参考资源

account_tree

思维导图

Interview AiBox logo

Interview AiBox — 面试搭档

不只是准备,更是实时陪练

Interview AiBox 在面试过程中提供实时屏幕提示、AI 模拟面试和智能复盘,让你每一次回答都更有信心。

AI 助读

一键发送到常用 AI

HTTP状态码是服务器响应的三位数字代码,分为五大类:1xx(信息响应)、2xx(成功)、3xx(重定向)、4xx(客户端错误)和5xx(服务器错误)。最常用的状态码包括:200(成功)、201(已创建)、301(永久重定向)、302(临时重定向)、304(未修改)、400(错误请求)、401(未授权)、403(禁止访问)、404(未找到)、429(请求过多)、500(服务器内部错误)、502(网关错误)、503(服务不可用)和504(网关超时)。正确理解和使用HTTP状态码对于Web开发和运维至关重要,它们帮助客户端理解请求处理结果并采取相应措施。

智能总结

深度解读

考点定位

思路启发

auto_awesome

相关题目

请解释TCP和UDP协议的主要区别是什么?

TCP和UDP是传输层的两个核心协议,主要区别在于:TCP是面向连接的可靠传输协议,通过三次握手建立连接,提供序列号、确认应答、重传机制、流量控制和拥塞控制等确保数据可靠传输,但效率较低;UDP是无连接的不可靠传输协议,无需建立连接,直接发送数据报,不保证数据可靠到达,但效率高、速度快。TCP适用于文件传输、网页浏览等要求数据可靠性的场景;UDP适用于实时音视频、DNS查询等对实时性要求高、可容忍少量丢包的场景。

arrow_forward

请解释TCP四次挥手的过程,并说明为什么需要四次而不是三次?

TCP四次挥手是终止TCP连接的标准过程,包含四个步骤:1)主动关闭方发送FIN;2)被动关闭方回复ACK;3)被动关闭方发送FIN;4)主动关闭方回复ACK并进入TIME_WAIT状态。需要四次而非三次挥手,主要是因为TCP是全双工协议,每个方向需要单独关闭,且需要确保数据完整传输和可靠性。四次挥手允许半关闭状态,确保所有数据都能被正确接收,同时TIME_WAIT状态防止延迟报文影响新连接。

arrow_forward

请对比HTTP和HTTPS协议的区别,包括安全性、性能和应用场景

HTTP与HTTPS的主要区别在于安全性、性能和应用场景:HTTP是明文传输的协议,速度快但不安全;HTTPS通过SSL/TLS加密提供安全性,但增加了连接开销和资源消耗。HTTP适用于内网系统和非敏感内容,而HTTPS是处理敏感数据和现代Web应用的标准选择。随着HTTP/2的普及和浏览器安全策略的强化,HTTPS已成为Web通信的主流标准。

arrow_forward

请解释TCP拥塞控制算法的原理和主要机制。

TCP拥塞控制是TCP协议的核心机制,通过动态调整发送窗口大小来控制发送速率,避免网络拥塞。主要包含四个机制:慢启动(指数增长窗口)、拥塞避免(线性增长窗口)、快重传(收到3个重复ACK立即重传)和快速恢复(拥塞时窗口减半而非重置)。算法经历了从Tahoe、Reno、New Reno到Vegas、BIC和CUBIC的演进,不断优化网络利用率和公平性。拥塞控制关注整个网络承载能力,与关注接收方处理能力的流量控制相辅相成,共同决定TCP的实际发送窗口大小。

arrow_forward

TCP与UDP的区别

TCP与UDP是两种重要的传输层协议,主要区别在于:TCP是面向连接的可靠协议,提供顺序保证、流量控制和拥塞控制,适用于文件传输、Web浏览等要求数据完整性的场景;UDP是无连接的不可靠协议,传输效率高、延迟低,适用于实时音视频、在线游戏等对实时性要求高的场景。TCP需要三次握手建立连接和四次挥手释放连接,而UDP直接发送数据报。选择哪种协议取决于应用对可靠性、效率和延迟的具体需求。

arrow_forward

阅读状态

阅读时长

5 分钟

阅读进度

11%

章节:9 · 已读:0

当前章节: HTTP状态码分类结构

最近更新:2025-09-03

本页目录

Interview AiBox logo

Interview AiBox

AI 面试实时助手

面试中屏幕实时显示参考回答,帮你打磨表达。

免费下载download

分享题目

复制链接,或一键分享到常用平台

外部分享