计算机网络基础面试题上
大约 5 分钟
计算机网络基础面试题上
网络分层模型
- OSI 模型(七层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
- TCP/IP 模型(四层):网络接口层、网络层、传输层、应用层。
例子:发送一个网页请求时,数据从应用层逐层向下传输,到达物理层后进行传输,然后逐层向上传输到服务器的应用层,完成一次完整的数据交换。
常见网络协议
- TCP:面向连接的可靠传输协议,适合文件传输、电子邮件等需要可靠性的数据传输。
- UDP:面向无连接、不可靠的数据传输协议,适合视频流、实时语音等需要快速传输的应用。
- HTTP:超文本传输协议,无状态的应用层协议,用于网页数据传输。
HTTP
1. 从输入 URL 到页面展示到底发生了什么?
- DNS 解析:将域名解析为 IP 地址。
- TCP 连接:客户端与服务器建立 TCP 三次握手连接。
- 发送 HTTP 请求:客户端向服务器发送 HTTP 请求(包括方法、路径、Header 等)。
- 服务器处理请求并返回响应:服务器处理请求,返回页面内容。
- 渲染页面:浏览器解析 HTML、CSS、JS,渲染页面。
- 关闭连接:浏览器可能保持 TCP 连接以重用,或在空闲后关闭。
2. HTTP 状态码有哪些?
- 2xx:成功,常见的有 200(请求成功)。
- 3xx:重定向,常见的有 301(永久重定向)、302(临时重定向)。
- 4xx:客户端错误,常见的有 404(未找到资源)、403(禁止访问)。
- 5xx:服务器错误,常见的有 500(内部服务器错误)、503(服务不可用)。
3. HTTP Header 中常见的字段有哪些?
- 请求头:
Host:目标主机地址。User-Agent:用户代理(浏览器信息)。Accept:客户端接收的内容类型。
- 响应头:
Content-Type:返回内容的类型,如text/html。Set-Cookie:设置 Cookie。Cache-Control:缓存控制策略。
4. HTTP 和 HTTPS 有什么区别?
- HTTP:不加密,数据明文传输,容易被窃听和篡改。
- HTTPS:通过 SSL/TLS 加密,保证数据安全性和完整性。
5. HTTP/1.0 和 HTTP/1.1 有什么区别?
- HTTP/1.0 默认不支持持久连接(每次请求重新连接)。
- HTTP/1.1 引入持久连接(默认开启),支持管线化请求,节省资源。
6. HTTP/1.1 和 HTTP/2.0 有什么区别?
- HTTP/2.0 支持多路复用,同一连接下可以并发多个请求,减少了延迟。
- 头部压缩:HTTP/2.0 支持 HPACK 头部压缩,降低带宽需求。
7. HTTP/2.0 和 HTTP/3.0 有什么区别?
- HTTP/3.0 基于 UDP 进行传输,使用 QUIC 协议,减少了连接延迟,提高了速度。
8. HTTP 是不保存状态的协议, 如何保存用户状态?
- Cookie:客户端存储少量数据,自动随请求发送。
- Session:服务器端存储用户数据,通过 Session ID 标识用户。
- Token:客户端存储的认证令牌,用于用户验证。
9. URI 和 URL 的区别是什么?
- URI(统一资源标识符):用于唯一标识资源。
- URL(统一资源定位符):一种 URI,包含了资源的具体地址。
10. Cookie 和 Session 有什么区别?
- Cookie:存储在客户端,数据量小,不安全。
- Session:存储在服务器端,安全性更高。
11. GET 和 POST 的区别
- GET:用于请求数据,参数在 URL 中传递,不安全且数据量有限。
- POST:用于提交数据,参数在请求体中传递,更安全且数据量不受限。
WebSocket
1. 什么是 WebSocket?
- WebSocket 是一种双向通信协议,允许服务器和客户端实时交换数据。
2. WebSocket 和 HTTP 有什么区别?
- WebSocket 是基于 TCP 的协议,一旦连接建立,可双向持续通信;而 HTTP 是请求-响应模式的单向协议。
3. WebSocket 的工作过程是什么样的?
- 握手:客户端发送 HTTP 请求以发起 WebSocket 连接。
- 协议升级:服务器同意连接后,将协议升级为 WebSocket。
- 双向通信:建立连接后,双方可以任意时刻发送数据。
- 关闭连接:客户端或服务器主动关闭连接。
4. SSE 与 WebSocket 有什么区别?
- SSE(服务器发送事件):只支持服务器到客户端的单向通信。
- WebSocket:支持双向通信,适合实时交互应用。
PING
1. PING 命令的作用是什么?
- PING 用于测试网络连通性和延迟,检查两个主机之间的连接质量。
2. PING 命令的工作原理是什么?
- PING 基于 ICMP 协议,向目标主机发送回显请求(Echo Request)数据包,目标主机回应回显响应(Echo Reply)数据包,以此来测试连通性和响应时间。
ping google.comDNS
1. DNS 的作用是什么?
- DNS(域名系统):将域名转换为 IP 地址,使得用户可以通过易记的域名访问网站。
2. DNS 服务器有哪些?
- 根 DNS 服务器:管理顶级域,如
.com、.org等。 - 顶级域名服务器:管理特定顶级域下的域名,如
.com的域名。 - 权威 DNS 服务器:存储域名和 IP 的映射记录,提供最终的解析服务。
- 本地域名服务器:负责处理客户端的 DNS 请求,缓存常用域名的解析结果。
3. 根服务器有多少个?
- 全球有 13 台根 DNS 服务器,分别标记为 A 到 M。
4. DNS 解析的过程是什么样的?
- 查询本地缓存:检查本地是否已有域名的 IP 地址。
- 递归查询:若本地无缓存,向本地域名服务器发送请求。
- 迭代查询:本地域名服务器按层级向上查询,直至找到权威 DNS 服务器。
- 返回 IP 地址:找到 IP 地址后逐层返回,客户端连接目标 IP。
5. DNS 劫持了解吗?如何应对?
- DNS 劫持:攻击者在 DNS 解析过程中将域名解析结果篡改,导致用户访问错误的 IP 地址。
- 应对方法:
- 使用加密的
DNS over HTTPS(DoH)或DNS over TLS(DoT)。 - 使用可信的 DNS 服务提供商,定期检查 DNS 配置。
- 使用加密的
