当前位置: 首页 > news >正文

Java计算机网络面试题

HTTP方法
请求类型描述
GET获取资源
POST创建新资源
PUT更新现有资源
DELETE删除资源
PATCH部分更新现有资源
cookie和session的区别
  • 存储位置:Cookie在客户端(浏览器),Session在服务器端。

  • Cookie占用内存更小,容易暴露,Session存储容量更大,更安全。

get和post请求的区别
  • get 请求参数写在 url 后面,暴露在地址栏,而且url 有长度限制

  • post 请求的参数写在请求体中,没有长度限制

  • 传输敏感数据时推荐使用 post

HTTP请求状态码
  • 200 OK:请求成功。

  • 301 Moved Permanently:资源被永久移动到新 URI,应使用新的 URI

  • 302 Found:资源临时位于不同 URI,应继续使用原 URI 发起请求。

  • 400 Bad Request:请求格式错误。

  • 401 Unauthorized:请求需要身份验证。

  • 403 Forbidden:认证成功但权限不足。

  • 404 Not Found:请求的资源不存在。

  • 405 Method Not Allowed:请求方法不允许。

  • 500 Internal Server Error:服务器内部错误

  • 502 Bad Gateway:网关/代理错误,上游服务器无响应

websocket和http的区别

http : 短链接 延迟高,基于请求响应模型,是单向的
websocket : 长连接,延迟低, 基于全双工通信,双向通信
这两个底层都是 tcp 连接

TCP和UDP的区别?​​
​​特性​​​​TCP​​​​UDP​​
连接方式面向连接(三次握手)无连接
可靠性可靠传输(确认、重传)不可靠传输,可能丢包
数据顺序按顺序到达不保证顺序
流量控制有(滑动窗口)
数据传输方式面向字节流面向报文
首部开销大(20~60字节)小(8字节)
传输效率较低较高
适用场景要求高,可靠性的场景对实时性要求高、可容忍少量丢包的场景
IP网络模型的各层及作用?​​

TCP/IP四层模型​​:

  1. ​应用层​​:提供应用服务(HTTP/FTP/DNS)。
  2. ​传输层​​:端到端通信(TCP/UDP)。
  3. ​​网络层​​:IP寻址和路由(IP/ICMP)。
  4. ​​链路层​​:物理传输(以太网/Wi-Fi)。

OSI七层模型​​:

  1. 物理层(比特流传输)
  2. 数据链路层(MAC寻址)
  3. 网络层(IP寻址)
  4. 传输层(端到端连接)
  5. 会话层(建立/管理会话)
  6. 表示层(数据格式转换/加密)
  7. 应用层(用户接口)
输入网址到网页显示,期间发生了什么?
  1. DNS 解析:将网址解析为 IP 地址。

  2. 建立 TCP 连接(三次握手)

  3. 发送 HTTP/HTTPS 请求

  4. 服务器处理并响应

  5. 浏览器解析 HTML、CSS、JS 渲染页面

  6. 建立其他资源连接(图片、JS 等)

CDN 是什么

即内容分发网络,通过将资源缓存到靠近用户的节点上来减少延迟、提高访问速度,降低原服务器压力

HTTPS 加密过程
  1. TCP 三次握手建立连接

  2. 客户端发起 TLS 握手

  3. 服务端返回 ServerHello、证书、密钥交换内容

  4. 验证证书 -> 客户端生成 pre‑master secret,用服务器公钥加密并发回

  5. 双方生成对称密钥,完成 ChangeCipherSpec、Finished 并确认加密开启

  6. 后续通信用对称密钥进行加密

为什么同时用两种加密算法?

  • 非对称加密用于交换对称密钥,确保密钥安全分发

  • 对称加密用于后续数据传输,性能高效

TCP 三次握手过程
  1. SYN:客户端发起同步请求,发送初始序号

  2. SYN+ACK:服务端确认客户端 SYN 并返回自己的 SYN

  3. ACK:客户端确认服务器 SYN,连接建立

TCP 四次挥手过程
  1. 客户端发送 FIN

  2. 服务端 ACK

  3. 服务端发送 FIN

  4. 客户端 ACK,进入 TIME_WAIT 状态,等待对方 ACK 丢失重发

  5. 为什么要三次握手

  6. 二次握手有什么问题

  7. 三次握手有哪些缺陷

  8. TCP 是如何控制流量的

  9. 发送方发送频率过高造成丢包,TCP 是如何解决的

  10. HTTPs 为什么要用对称加密+非对称加密,相对于只使用非对称加密有什么好处

  11. 讲一下 OSI 网络架构

  12. HTTP 在哪一层

  13. HTTP 报文结构

  14. HTTP 首部字段

  15. HTTPs 加密在哪一层实现

  16. http 是无状态通信,http 的请求方式有哪些,可以自己定义新的请求方式么。

  17. socket 通信,以及长连接,分包,连接异常断开的处理。

  18. socket 通信模型的使用,AIO 和 NIO。

  19. socket 框架 netty 的使用,以及 NIO 的实现原理,为什么是异步非阻塞

http://www.dtcms.com/a/315200.html

相关文章:

  • 【BUUCTF系列】[SUCTF 2019]EasySQL1
  • script标签放在header里和放在body底部里有什么区别?
  • 鸿蒙开发元组
  • 单点登录(SSO)全面解析:原理、实现与应用
  • 中标喜讯 | 安畅检测成功中标海南工信大脑(二期)软件测评服务
  • 基于SpringBoot的OA办公系统的设计与实现
  • docker-compose一键部署Springboot+Vue前后端分离项目
  • 映射公式解常微分方程,偏微分方程
  • JVM-自动内存管理-运行时数据区域
  • createAsyncThunk
  • 结构体数组2-单向链表
  • MySQL详解(一)
  • SAP_MMBASIS模块-选择屏幕变式添加动态字段赋值
  • 如何在AD中快速定位器件?J+C
  • AWS服务分类
  • 人员检测识别中漏检率↓76%:陌讯动态特征融合算法实战解析
  • C++入门自学Day6-- STL简介(初识)
  • AI产品经理手册(Ch6-8)AI Product Manager‘s Handbook学习笔记
  • Vue3+TypeScript项目实战day1——项目的创建及环境配置
  • pytorch 学习笔记(2)-实现一个线性回归模型
  • sqli-labs通关笔记-第30关GET字符注入(WAF绕过 双引号闭合 手工注入+脚本注入两种方法)
  • QCustomplot极坐标系绘制
  • Qt项目模板全解析:选择最适合你的开发起点
  • Gitee:本土化DevOps平台如何助力中国企业实现高效研发协作
  • 水面垃圾清扫船cad【6张】三维图+设计说明书
  • C语言实现Elasticsearch增删改查API
  • OpenCV学习 day4
  • Pytorch-05 所以计算图和自动微分到底是什么?(计算图及自动微分引擎原理讲解)
  • AI 大模型分类全解析:从文本到多模态的技术图谱
  • AcWing 890. 能被整除的数 (容斥原理)