《JAVA八股真解》四、Web
#JAVA##JAVA面经##JAVA内推#
1. TCP 和 UDP 的区别
| 特征 | TCP | UDP |
|---|---|---|
| 连接 | 面向连接的协议,通信前需建立连接 | 无连接的协议,发送数据无需事先建立连接 |
| 可靠性 | 可靠传输,提供错误检测、重传机制 | 不保证数据包顺序和完整性,可能丢失或重复 |
| 顺序性 | 数据按序到达,支持乱序重排 | 不保证数据包到达顺序 |
| 面向 | 面向字节流的协议 | 面向数据报的协议 |
| 适用性 | 适用于需要高可靠性的场景,如文件传输、网页浏览 | 适用于对实时性要求高的场景,如视频直播、在线游戏 |
| 头部开销 | 头部较大,占用较多网络资源 | 头部较小,占用网络资源较少 |
总结:TCP是一种可靠的、面向连接的协议,适合需要确保数据完整性的场景;UDP是一种不可靠的、无连接的协议,适用于对延迟敏感的应用。
2. 常见的 HTTP 状态码
| 状态码 | 类别 | 描述 |
|---|---|---|
| 1xx | 信息性状态码 | 服务器响应请求,但需要客户端继续执行操作 |
| 2xx | 成功状态码 | 请求成功处理,例如:200 - 请求成功,201 - 创建成功 |
| 3xx | 重定向状态码 | 客户端需进一步操作才能完成请求,例如:301 - 永久重定向,302 - 临时重定向 |
| 4xx | 客户端错误状态码 | 请求语法错误或无法完成请求,例如:400 - 请求格式错误,401 - 未授权,403 - 禁止访问,404 - 找不到资源 |
| 5xx | 服务器错误状态码 | 服务器内部错误导致请求失败,例如:500 - 服务器内部错误,502 - 网关错误,503 - 服务不可用 |
提示:了解常见状态码有助于快速定位问题,提升调试效率。
3. GET 和 POST 的区别
| 特征 | GET | POST |
|---|---|---|
| 参数 | 参数附加在URL中,以键值对形式传递 | 参数包含在请求体中,不显示在URL中 |
| 安全性 | 不安全,参数可见于URL | 相对安全,参数不在URL中暴露 |
| 缓存 | 可以被浏览器缓存 | 不能被缓存 |
| 长度限制 | 有长度限制(通常2048字符),受浏览器限制 | 无长度限制,理论上可传输大量数据 |
| 用途 | 用于获取资源,如查询数据 | 用于提交数据,如表单提交、文件上传 |
应用场景:
- 使用GET时,应避免传输敏感信息(如密码)。
- 使用POST时,适合发送大量数据或敏感信息。
4. Cookie 和 Session 的区别
| 特征 | Cookie | Session |
|---|---|---|
| 存储位置 | 存储在客户端浏览器中 | 存储在服务器端内存或数据库中 |
| 安全性 | 相对较低,容易被窃取 | 相对较高,服务器控制 |
| 大小限制 | 单个Cookie最大4KB,总数量有限制 | 无大小限制,取决于服务器配置 |
| 生命周期 | 可设置过期时间,持久化保存 | 依赖会话,关闭浏览器后失效 |
| 使用方式 | 客户端保存,每次请求自动携带 | 服务器维护,通过Session ID识别用户 |
补充说明:
- Cookie可用于记住用户偏好设置,但不应存储敏感信息。
- Session用于维护用户登录状态,常配合Cookie中的Session ID使用。
5. 过滤器和拦截器的区别
| 对比项 | 过滤器(Filter) | 拦截器(Interceptor) |
|---|---|---|
| 所属层次 | 属于Servlet规范,由容器管理 | 属于Spring框架,由Spring管理 |
| 触发时机 | 在请求进入Servlet之前进行预处理,在响应返回之前进行后处理 | 在请求进入Controller之前进行预处理,在方法执行前后进行拦截 |
| 作用范围 | 适用于所有请求,包括静态资源、JSP等 | 仅适用于Spring MVC的控制器方法 |
| 实现方式 | 实现javax.servlet.Filter接口 |
实现HandlerInterceptor接口 |
| 是否支持AOP | 不支持 | 支持,可通过切面编程增强功能 |
| 是否支持事务 | 不支持 | 支持,可在拦截器中开启事务 |
图示说明:
[请求] → Filter → [Spring MVC] → Interceptor → Controller → [响应]
实际应用:
- 使用过滤器进行统一编码、日志记录、权限校验等通用操作。
- 使用拦截器进行业务逻辑控制,如登录验证、权限检查、性能监控等。
【八股真解】精炼最新高频面经 文章被收录于专栏
本专栏在精不在多,内容分为八股文、大厂真实面经,面试通过后将offer和面试题私发给我,可退还专栏的收益部分费用。欢迎大家共建专栏
查看9道真题和解析