Java八股文-计算机网络

计算机网络通信(不同设备上的进程间通信)

介绍一下TCP/IP模型和OSI模型的区别

OSI模型是国际标准化组织(ISO)制定的一个用于计算机或通信系统间互联的标准体系,把计算机网络通信分为七个层级。七个层级提供不同的服务功能,每个层级都构建在下方的层级之上,下方层级为上方层级提供相应的服务。从下往上,分别是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。

虽然OSI模型在理论上更全面,但在实际网络通信中,TCP/IP模型更为实用。 TCP/IP模型分为四个层级,每个层级负责特定的网络功能。

  1. 应用层(对应会话层、表示层、应用层)。应用层提供与用户应用程序交互的接口。它为网络上的各种应用程序提供服务,比如电子邮件(SMTP)、网页浏览(HTTP)、文件传输(FTP)等。
  2. 传输层(对应传输层)。它负责端到端的数据传输,传输层提供数据传输服务。主要的传输层协议有TCP和UDP。TCP提供可靠的数据传输服务,确保数据的正确性和完整性。而UDP则是无连接的,适用于不要求可靠性的传输,如实时的音频流、视频流。
  3. 网络层(对应网络层)。主要协议是IP,它负责数据包的路由与转发,选择最佳路径,把数据从源主机发送到目标主机。IP协议使用IP地址来标识主机和网络,并用逻辑地址寻址。
  4. 网络接口层(对应数据链路层和物理层)。它负责物理传输媒介的传输,例如以太网、Wi-Fi等,并提供错误检测和纠正的功能。此外,网络接口层还包含硬件地址(MAC地址)的管理。

从输入 URL 到页面展示到底发生了什么?

  1. 输入网址,解析URL信息,准备发送HTTP请求。
  2. 检查浏览器缓存里是否有缓存该资源,如果有直接返回,如果没有进入下一步网络请求。
  3. DNS域名解析:网络请求前,先进行域名解析,以获取域名对应的ip地址。如果是HTTPS请求,还要进行TLS连接。域名解析按本地浏览器缓存->本地HOST文件->路由器缓存->DNS服务器->根DNS服务器的顺序查询域名对应IP,直到找到为止。
  4. TCP三次握手建立连接:浏览器与服务器IP建立TCP连接。
  5. 客户端发送HTTP请求:连接建立后,浏览器会构建请求行,请求头等信息,并且把和该域名相关的Cookie等数据附加到请求头中,向服务器提交请求信息。如果是HTTPS的话,还涉及到HTTPS的加解密流程。
  6. 服务器处理请求并返回HTTP资源:服务器接收到请求信息,根据请求生成响应数据。
  7. TCP四次挥手断开连接:浏览器与服务器IP断开TCP连接。
  8. 浏览器解析响应并渲染页面:
  • 浏览器解析响应头。若响应头状态码为301、302,会重定向到新地址;若响应数据类型是字节流类型,一般会将请求提交给下载管理器;若是HTML类型,会进入下一部渲染流程。
  • 浏览器解析HTML文件,创建DOM树,解析CSS进行样式计算,然后将CSS和DOM合并,构建渲染树;最后布局和绘制渲染树,完成页面展示。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

weixin_40482722

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值