第29周 面试题精讲(5)

Java面试题详解

一、OSI 7层模型和 TCP 4层网络模型

表格对比

OSI 7层模型作用描述TCP 4层模型作用描述
物理层利用传输媒介为数据链路层提供最底层的物理连接,负责网络数字信号在物理世界中的传输网络访问层对应 OSI 模型的物理层和数据链路层,负责数据的物理传输和链路管理
数据链路层负责建立和管理节点间链路,通过各种控制协议,将有差错的物理信道变为无差错可靠的数据帧进行数据传递网络层对应 OSI 模型的网络层,负责路由选择和数据包的转发
网络层负责路由选择,即在四通八达的网络中选择一条最优的传输路径,让数据从源头到目的地进行传输传输层对应 OSI 模型的传输层,负责端到端的数据传输和流量控制
传输层承上启下,完成操作系统和上层软件控制之间的数据传递,控制数据库连接等网络连接应用层对应 OSI 模型的会话层、表示层和应用层,负责具体的应用程序数据处理和服务
会话层应用程序和网络之间的接口,管理两个实体之间的通信和数据交换--
表示层负责数据的加密、压缩等处理,确保数据在网络传输中的安全性和高效性--
应用层最接近用户的层,实现日常软件工作中的各种功能,如 FTP、HTTP 等协议和服务--

描述

  • OSI 7层模型:是一个理论上的网络模型,从下到上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。每一层都有其特定的功能和职责,确保数据能够从发送方可靠地传输到接收方。
  • TCP 4层模型:是一个更实用的网络模型,从下到上分为网络访问层、网络层、传输层和应用层。它将 OSI 模型的多层功能进行了合并和简化,更适合实际的网络产品和应用。

二、HTTP 与 HTTPS 的区别

表格对比

特性HTTPHTTPS
端口号默认使用 80 端口使用 443 端口
安全性数据传输过程中以明文形式传输,安全性较差采用非对称加密,数据传输过程中即便被截取,黑客也难以破解
认证不需要认证需要到 CA 认证机构申请证书,过程涉及费用
响应速度响应速度较快,基于 TCP 的三次握手实现因为额外的 SSL 握手过程,响应速度较慢
通信状态无状态,每次请求和响应都是独立的有状态,服务器可以记录会话状态

描述

  • HTTP:超文本传输协议,用于在 Web 应用程序中传输数据。它是无状态的,意味着每次请求都是独立的,服务器不会记录客户端的请求状态。
  • HTTPS:HTTP 的安全版本,通过 SSL/TLS 协议对数据进行加密传输,确保数据的安全性和完整性。它在 HTTP 的基础上增加了安全性,但会带来一些性能开销。

三、HTTP 2.0 的新特性

表格对比

新特性说明
二进制分帧引入二进制分帧层,所有传输信息被切割为更小的帧,以二进制形式编码,提高传输效率
头部压缩对请求头进行压缩,只发送变更部分,减少数据传输量
多路复用一个连接可以承载多个双向数据流,减少连接建立和关闭的开销
流量控制可以对请求的数量和数据包进行控制,优化网络资源的使用
请求优先级为不同请求设置优先级,确保重要请求优先处理
服务器推送服务器可以主动向客户端推送数据,实现双向通信,提高应用的实时性

描述

  • 二进制分帧:HTTP 2.0 引入了二进制分帧机制,将数据分割成更小的帧进行传输,提高了数据传输的效率和可靠性。
  • 头部压缩:通过压缩请求头,减少了头部信息的传输量,提升了传输效率。
  • 多路复用:允许多个请求和响应在同一连接上同时传输,减少了连接的建立和关闭次数。
  • 流量控制:提供了更精细的流量控制机制,优化了网络资源的使用。
  • 请求优先级:支持为不同请求设置优先级,确保高优先级请求能够更快地得到处理。
  • 服务器推送:服务器可以主动向客户端推送资源,减少了客户端的等待时间,提高了应用的响应速度。

四、请说明 TCP 三次握手过程

问题:TCP 三次握手过程是怎样的?

答案

  • 第一次握手:客户端向服务器发送一段 TCP 报文,包含 syn 标志位(值为 1),表示请求建立新连接,同时携带一个初始序号 seq=x。客户端状态变为 SYN_SENT
  • 第二次握手:服务器收到客户端的 TCP 报文后,返回一段 TCP 报文,包含 synack 标志位,表示收到客户端的请求并同意创建新连接。服务器的序号为 seq=y,确认号为 ack=x+1。服务器状态变为 SYN_RCVD
  • 第三次握手:客户端收到服务器的确认报文后,发送最后一段 TCP 报文,包含 ack 标志位,表示确认收到服务器的同意连接信号。客户端的序号为 seq=x+1,确认号为 ack=y+1。客户端状态变为 ESTABLISHED,服务器收到后状态也变为 ESTABLISHED,连接建立完成。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值