计算机网络知识体系概览
什么是计算机网络?
计算机网络是将多台计算机通过通信线路和协议连接起来、实现资源共享和信息传递的系统。我们每天使用的互联网(Internet)就是世界上最大的计算机网络。
对于前端工程师来说,计算机网络知识回答了一个根本问题:前端发出的请求是如何到达服务器、又如何把数据传回来的? 从你在浏览器输入 URL 的那一刻,到页面内容呈现在眼前,背后经历了 DNS 解析、TCP 连接、HTTP 通信、数据传输等一系列网络过程。
前端为什么要学网络知识?
- 接口调试:请求为什么 404?为什么跨域了?为什么超时了?——这些都需要网络知识来排查
- 性能优化:HTTP/2 的多路复用、CDN 部署、资源压缩、请求合并——网络是前端性能瓶颈的主要来源之一
- 安全防护:HTTPS 如何加密?Cookie 的安全属性有哪些?JWT 和 Session 哪个更安全?
- 面试必考:TCP 三次握手、HTTP 状态码、HTTPS 原理、HTTP/2 vs HTTP/3 是后端和前端面试的共同高频题
核心知识点概览
HTTP/HTTPS 协议——Web 通信的"语言"
HTTP(超文本传输协议) 是浏览器和服务器之间通信的规则。每次你访问一个网页,浏览器就会发送一个 HTTP 请求,服务器返回一个 HTTP 响应。面试必考知识包括:请求方法(GET/POST/PUT/DELETE 的区别)、状态码(200/301/304/404/500 的含义)、请求头/响应头。
HTTPS 是 HTTP 的加密版本——在 HTTP 和 TCP 之间加了一层 TLS(Transport Layer Security) 加密层,保证通信不被窃听和篡改。面试经常考 TLS 握手过程和证书验证原理。
TCP/UDP——数据传输的"管道"
TCP(传输控制协议) 是一种可靠的传输协议——它保证数据按顺序、不丢失、不重复地到达对方。TCP 的三次握手(建立连接)和四次挥手(断开连接)是面试的经典考题。
UDP(用户数据报协议) 是一种不可靠但更快的协议——不保证顺序、可能丢包,但延迟低,适合视频通话、直播、游戏等实时场景。
DNS——把域名变成 IP 地址
你输入 www.google.com,但计算机只认 IP 地址(如 142.250.80.100)。DNS(Domain Name System) 就是负责将域名翻译成 IP 地址的系统——就像互联网的"电话簿"。DNS 解析过程涉及浏览器缓存、操作系统缓存、路由器缓存、递归解析等多个层级。
HTTP/2 和 HTTP/3——更快的 Web
HTTP/2 引入了多路复用(一个连接并发多个请求)、头部压缩、服务器推送,解决了 HTTP/1.1 的队头阻塞问题。HTTP/3 更进一步,用 QUIC 协议(基于 UDP)替换了 TCP,进一步降低连接延迟。
认证与鉴权
Cookie + Session 是传统的认证方案——服务端存储会话信息,客户端通过 Cookie 携带会话 ID。JWT(JSON Web Token) 是现代方案——将认证信息加密编码在 Token 中,服务端不需要存储状态。两者的优缺点对比是面试常见题。
学习建议
- HTTP/HTTPS + TCP/UDP → 面试必考的双子星
- DNS + CDN → 理解请求全链路
- Cookie/Session + JWT → 认证鉴权基础
- RESTful API → 前后端协作必备
- HTTP/2·3 + 网络安全 → 进阶优化