跳转至

课时02:互联网工作原理

学习目标:理解客户端与服务器之间的数据交互机制,掌握 HTTP 请求的基本流程及浏览器渲染原理。


一、互联网的核心理念

1.1 "上网即请求数据"

互联网通信的本质是客户端向服务器请求数据,服务器响应并返回数据的循环过程。网页浏览的每一个动作,底层都是物理文件的传输:

  1. 用户在浏览器输入网址(或点击链接)
  2. 浏览器向远程服务器发送请求
  3. 服务器查找对应资源并返回响应
  4. 浏览器接收数据并渲染为可视化页面

1.2 核心角色定义

角色 定位 核心职责
客户端(Client) 用户终端设备 发起请求、接收响应、渲染内容
服务器(Server) 提供服务的计算机 存储资源、处理请求、返回数据
浏览器(Browser) 客户端的核心软件 发送 HTTP 请求、解析 HTML/CSS/JS、构建渲染树

二、服务器(Server)详解

2.1 服务器的本质

服务器是一种专为持续提供服务而设计的高性能计算机,与普通个人计算机相比:

  • 硬件特性:具备高速 CPU 运算能力、大容量内存、冗余存储及稳定电源供应
  • 运行特性:7×24 小时不间断运行,确保用户随时可访问服务
  • 价格特性:专业服务器硬件成本远高于普通计算机

2.2 核心功能

  • 资源存储:存放网页所需的全部文件(HTML、CSS、JavaScript、图片、音视频、字体等)
  • 服务提供:为各类终端设备(PC、智能手机、ATM、IoT 设备等)提供计算或应用服务
  • 文件交互:通过 FTP、SFTP 等协议支持开发者上传、更新站点文件

三、浏览器(Browser)详解

3.1 五大主流浏览器内核

厂商 浏览器 内核/引擎 特点
Google Chrome Blink 性能优异,开发者工具完善
Mozilla Firefox Gecko 开源,隐私保护特性突出
Microsoft Edge Blink(新版) 与 Windows 深度集成
Opera Opera Blink 资源占用低,内置 VPN 功能
Apple Safari WebKit macOS/iOS 默认浏览器,能效优化突出

国内浏览器说明:360、QQ、搜狗等浏览器本质上是基于 Chromium(Blink)或 Trident 内核进行二次封装,针对国内用户习惯添加附加功能(如双核切换、广告过滤)。

3.2 浏览器工作原理

用户输入网址 → DNS 域名解析 → 建立 TCP 连接 → 发送 HTTP 请求
    → 服务器处理 → 返回 HTTP 响应 → 浏览器接收数据 → 解析渲染页面

3.3 缓存机制

浏览器的缓存(Cache)机制显著提升了二次访问速度:

  • 首次访问:浏览器需从服务器下载全部资源(HTML、CSS、JS、图片等),加载较慢
  • 二次访问:浏览器优先读取本地缓存中的静态资源,仅重新请求可能变动的内容,实现"秒级"加载
  • 缓存策略:通过 HTTP 响应头(如 Cache-ControlExpiresETag)控制缓存有效期

四、HTTP 请求完整流程

4.1 HTTP 协议特性

HTTP(HyperText Transfer Protocol) 是客户端与服务器之间通信的应用层协议:

  • 无连接性:每次通信需独立建立连接,通信结束后立即断开,不保持持久状态
  • 无状态性:服务器不记录客户端的历史请求信息,需通过 Cookie/Session 机制维持状态
  • 请求-响应模型:通信由客户端发起,服务器被动响应

4.2 一次完整的 HTTP 请求历程

步骤 阶段名称 详细说明
1 DNS 域名解析 浏览器将域名(如 www.example.com)解析为 IP 地址(如 192.168.1.1),服务器仅识别数字 IP
2 建立 TCP 连接 通过三次握手建立客户端与服务器之间的可靠传输通道
3 发送 HTTP 请求 浏览器构造 HTTP 请求报文(包含请求方法、URL、请求头、请求体),发送至服务器
4 服务器处理 服务器接收请求,查询数据库或文件系统,执行业务逻辑
5 返回 HTTP 响应 服务器构造响应报文(包含状态码、响应头、响应体),返回客户端
6 断开 TCP 连接 通过四次挥手释放连接资源
7 客户端渲染 浏览器解析 HTML 构建 DOM 树,解析 CSS 构建 CSSOM 树,合并为渲染树并绘制页面