互联网是怎么工作的
引入
前端开发每天都在和”请求”打交道,但很多人只会调接口,不知道一个 URL 从输入到拿到数据中间发生了什么。面试常问”输入 URL 后发生了什么”,本质就是在考察你是否理解互联网的基础模型。
搞懂这部分,不是为了背八股,而是为了将来排查慢请求、理解 HTTP 缓存、看懂浏览器网络面板时能直接定位问题。
正文
定义
互联网(Internet)是连接全球计算机的网络,核心价值在于让不同设备之间可靠地交换信息。前端需要关注的是其中”浏览器 ←> 服务器”这条链路上的基础协议。
一个请求经历了什么
以访问 https://example.com 为例,大致过程:
输入 URL
↓
DNS 解析:把域名换成 IP(详见 [[DNS]])
↓
建立 TCP 连接
↓
(HTTPS) 进行 TLS 握手建立加密通道
↓
发送 HTTP 请求
↓
服务器处理并返回响应(结果用状态码表达,详见 [[状态码]])
↓
浏览器解析渲染| 步骤 | 作用 | 前端关注点 | 深入笔记 |
|---|---|---|---|
| DNS 解析 | 域名 → IP | DNS 慢会导致首字节延迟 | DNS |
| TCP 连接 | 建立可靠传输通道 | 三次握手、连接复用 | |
| TLS 握手 | 加密通信(仅 HTTPS) | 影响首屏时间 | |
| HTTP 请求 | 传输请求与响应 | 方法、响应状态、缓存 | 状态码 |
| 渲染 | 把资源变成页面 | 加载顺序、阻塞 |
核心协议分层
互联网靠分层协议协作,前端最常接触的几层:
| 层 | 代表协议 | 主要职责 |
|---|---|---|
| 应用层 | HTTP / HTTPS / DNS | 定义请求语义与数据格式 |
| 传输层 | TCP / UDP | 保证数据可靠或快速送达 |
| 网络层 | IP | 寻址与路由 |
| 链路层 | 以太网 / Wi-Fi | 物理传输 |
一句话记法:应用层关心”说什么”,传输层关心”说得稳不稳”,网络层关心”往哪送”。
HTTP 的基础认知
- HTTP 是文本格式的请求 / 响应协议,由方法(GET / POST 等)、URL、请求头、请求体组成。
- HTTPS = HTTP + TLS,加密传输内容,防止中间人窃听或篡改。
- 响应用状态码表达结果,按 2xx / 3xx / 4xx / 5xx 分大类记忆,展开见 状态码。
与前端相关的几个现象
- 慢请求排查:先用浏览器网络面板区分是”等待响应慢”还是”内容下载慢”,前者多和服务端 / DNS 有关。
- HTTP 缓存:通过响应头(如
Cache-Control)减少重复请求,是前端性能优化的重要一环。 - 跨域:浏览器基于”同源策略”限制跨源请求,常见解法有 CORS、代理、JSONP 等。
引出
理解基础链路后,可以继续深入:HTTP 请求头具体有哪些字段、缓存命中策略怎么设置、DNS 解析有没有优化空间、CDN 把内容分发到边缘节点后请求链路如何变化。这些都会在后续笔记里逐步展开。