前言
主要强化计算机基础中的计算机网络,本篇主要深入理解计算机网络的重点面试题
计算机网络基础
一、网络分层模型
首先是osi七层模型,分别是物数网传会表应。OSI七层模型是一种理想模型,把网络通信过程分为七层。
- 物理层主要负责物理介质上的传输。
- 数据链路层负责同一网络之间的可靠数据传输,包括帧的封装、传输、确认和错误检测与纠正。
- 网络层负责数据包的路由与转发。
- 传输层负责提供端到端的传输服务,确保数据的完整性和可靠传输。
- 会话层负责管理控制应用程序之间的会话。
- 表示层负责数据格式化和转换,确保不同系统之间的数据能够被正确理解。
- 应用层负责提供直接面向用户的网络服务和应用程序的接口。
每一层都通过自己的协议来实现功能,这些协议定义了数据如何在层与层之间传递。例如,当你发送一封电子邮件时:
1 应用层创建邮件内容。
2表示层将内容转换为适合网络传输的格式。
3会话层建立与收件人的连接。
4传输层确保邮件安全地传输。
5网络层决定邮件的最佳传输路径。
6数据链路层将邮件封装成帧,并通过物理层发送出去。
现在基本都用的是TCP/IP四层模型,该模型简化了OSI七层模型。由应用层、传输层、网络层、网络接口层组成。
HTTP
一、从输入URL到页面显示发生了什么?
- 在浏览器中输入指定网页的 URL。
- 浏览器通过 DNS 协议,获取域名对应的 IP 地址。
- 浏览器根据 IP 地址和端口号,向目标服务器发起一个 TCP 连接请求。
- 浏览器在 TCP 连接上,向服务器发送一个 HTTP 请求报文,请求获取网页的内容。
- 服务器收到 HTTP 请求报文后,处理请求,并返回 HTTP 响应报文给浏览器。
- 浏览器收到 HTTP 响应报文后,解析响应体中的 HTML 代码,渲染网页的结构和样式,同时根据 HTML 中的其他资源的 URL(如图片、CSS、JS 等),再次发起 HTTP 请求,获取这些资源的内容,直到网页完全加载显示。
- 浏览器在不需要和服务器通信时,可以主动关闭 TCP 连接,或者等待服务器的关闭请求。