2.5 🍽️ 互联网术语速查
用「开餐厅」的类比,一次性搞懂互联网的核心概念。
🎬 故事开始
假设你要开一家餐厅,我们来看看互联网里的每个概念对应餐厅里的什么。
🏪 餐厅类比详解
🏷️ 域名(Domain Name)
餐厅类比:餐厅的名字
域名 = 你的网站地址
例子:
├── google.com → Google 的「店名」
├── github.com → GitHub 的「店名」
├── baidu.com → 百度的「店名」
└── yourproject.app → 你的项目的「店名」
没有域名会怎样?
├── 别人访问你的网站要输入:192.168.1.100:3000
├── 这就像没有店名,别人只能靠门牌号找你
└── 所以一定要有个好记的名字
相关术语:
- DNS(域名系统):把域名翻译成 IP 地址的「电话簿」
- TLD(顶级域名):
.com、.cn、.app这些后缀 - Subdomain(子域名):
blog.yoursite.com里的blog就是子域名
🏢 服务器(Server)
餐厅类比:你的店面
服务器 = 一台运行你网站的电脑(7×24小时不关机)
类型:
├── 云服务器(VPS)→ 租一个虚拟的电脑
│ 例子:阿里云 ECS、AWS EC2、腾讯云 CVM
│
├── Serverless → 不用管服务器,按使用付费
│ 例子:Vercel、Cloudflare Workers
│
└── 自建服务器 → 自己买一台物理机
例子:个人 NAS、树莓派
类比详解:
租云服务器 = 租一个店面(月租制)
├── 你可以选大小(CPU/内存)
├── 你可以选位置(机房位置)
├── 你自己负责装修和维护
└── 月租从几十到几千不等
用 Serverless = 用共享厨房
├── 你不用管厨房在哪
├── 做一道菜收一道菜的钱
├── 不做饭就不收钱
└── 适合小本生意
🎨 前端(Frontend)
餐厅类比:前厅(顾客看到和操作的部分)
前端 = 用户在浏览器里看到和交互的一切
包括:
├── 页面布局和样式(HTML + CSS)
├── 按钮点击、表单提交(JavaScript)
├── 动画和过渡效果
└── 响应式设计(手机/电脑都能看)
前端技术栈:
HTML → 餐厅的结构(桌椅摆在哪)
CSS → 餐厅的装修(墙是什么颜色)
JavaScript → 餐厅的服务员(负责交互)
React/Vue → 现代化的装修方案(组件化)
Tailwind CSS → 预制的装修材料(实用优先的 CSS 框架)
🔧 后端(Backend)
餐厅类比:厨房(顾客看不到但最关键的部分)
后端 = 服务器上运行的程序,处理数据和业务逻辑
包括:
├── 接收前端发来的请求
├── 处理数据(增删改查)
├── 用户认证(登录/注册)
├── 支付处理
└── 和数据库交互
后端技术栈:
Node.js → 用 JavaScript 做菜的厨房
Python → 用 Python 做菜的厨房
Go → 用 Go 做菜的厨房(效率极高)
Next.js API Routes → 前后一体的厨房(前后端在一个项目里)
🔌 API(应用程序接口)
餐厅类比:点菜窗口 / 菜单
API = 前端和后端之间的通信方式
想象一下:
├── 顾客(前端)看菜单(API文档)
├── 点菜(发送请求):「我要一份宫保鸡丁」
├── 厨房(后端)做菜(处理请求)
└── 上菜(返回响应):「您的宫保鸡丁,请慢用」
技术上:
├── 前端发送 HTTP 请求(GET/POST/PUT/DELETE)
├── 后端接收请求,处理,返回 JSON 数据
└── 前端拿到数据,渲染页面
API 的类型:
REST API → 最常见的,用 HTTP 方法(GET/POST/PUT/DELETE)
GraphQL → 灵活查询,你要什么字段就返回什么字段
WebSocket → 实时通信(聊天、游戏)
RPC → 远程过程调用(gRPC)
REST API 例子:
# 获取所有用户(GET 请求)
GET /api/users
→ 返回:[{ "id": 1, "name": "张三" }, { "id": 2, "name": "李四" }]
# 创建新用户(POST 请求)
POST /api/users
Body: { "name": "王五" }
→ 返回:{ "id": 3, "name": "王五" }
# 更新用户(PUT 请求)
PUT /api/users/3
Body: { "name": "王五五" }
→ 返回:{ "id": 3, "name": "王五五" }
# 删除用户(DELETE 请求)
DELETE /api/users/3
→ 返回:{ "success": true }
🗄️ 数据库(Database)
餐厅类比:食材仓库
数据库 = 存储所有数据的地方
关系型数据库(SQL):
├── 像 Excel 表格,有行有列
├── 例子:MySQL、PostgreSQL、SQLite
└── 适合:用户信息、订单、文章等结构化数据
非关系型数据库(NoSQL):
├── 像文件柜,格式灵活
├── 例子:MongoDB、Redis、Firebase
└── 适合:日志、缓存、非结构化数据
类比详解:
食材仓库(数据库):
├── 有分类(表/Table):蔬菜区、肉类区、调料区
├── 有标签(字段/Field):名称、价格、保质期
├── 有库存管理(CRUD操作):进货、盘点、出库、报废
└── 有索引(Index):快速找到你要的东西
⚡ 缓存(Cache)
餐厅类比:备菜台
缓存 = 把常用数据放在「手边」,不用每次去仓库拿
没有缓存:
├── 顾客点了番茄炒蛋
├── 厨师去仓库拿番茄 → 打开仓库门 → 找到番茄 → 拿出来
├── 再去仓库拿鸡蛋 → 打开仓库门 → 找到鸡蛋 → 拿出来
└── 效率极低
有缓存:
├── 厨师旁边的台子上已经摆好了常用的食材
├── 直接拿,不用跑去仓库
└── 效率高 10 倍
常见缓存工具:
Redis → 最流行的内存缓存数据库
Memcached → 轻量级缓存
浏览器缓存 → 网页资源缓存在本地
CDN 缓存 → 静态文件缓存在全球节点
🌍 CDN(内容分发网络)
餐厅类比:连锁分店
CDN = 把你的内容复制到全球各地的服务器上
没有 CDN:
├── 你的服务器在上海
├── 纽约用户访问 → 请求绕地球半圈 → 慢
└── 体验:打开网页要 5 秒
有 CDN:
├── 你的内容已经复制到纽约的 CDN 节点
├── 纽约用户访问 → 从纽约节点获取 → 快
└── 体验:打开网页 0.5 秒
📚 术语速查表(50+)
基础概念
| 术语 | 英文 | 通俗解释 | 餐厅类比 |
|---|---|---|---|
| 域名 | Domain Name | 网站地址 | 店名 |
| 服务器 | Server | 运行网站的电脑 | 店面 |
| IP 地址 | IP Address | 电脑的数字地址 | 门牌号 |
| HTTP | HyperText Transfer Protocol | 浏览器和服务器对话的语言 | 点菜的方式 |
| HTTPS | HTTP Secure | 加密的 HTTP | 加了密码锁的点菜单 |
| SSL/TLS | Secure Sockets Layer | 加密证书 | 店铺的安全认证 |
| 端口 | Port | 服务器上的「门」 | 店铺的各个入口 |
| URL | Uniform Resource Locator | 完整的网页地址 | 门牌号+楼层+房间号 |
前端相关
| 术语 | 英文 | 通俗解释 |
|---|---|---|
| HTML | HyperText Markup Language | 网页的骨架 |
| CSS | Cascading Style Sheets | 网页的样式/皮肤 |
| JavaScript | JS | 网页的行为/动作 |
| DOM | Document Object Model | 网页元素的树状结构 |
| SPA | Single Page Application | 单页应用(不刷新页面) |
| SSR | Server-Side Rendering | 服务端渲染(首屏快) |
| CSR | Client-Side Rendering | 客户端渲染 |
| SSG | Static Site Generation | 静态站点生成 |
| Component | 组件 | 可复用的 UI 模块 |
| JSX | JavaScript XML | 在 JS 里写 HTML |
| Responsive | 响应式设计 | 手机电脑都能看 |
| Framework | 框架 | 开发的脚手架 |
| State | 状态 | 应用当前的数据 |
| Props | Properties | 组件的参数 |
| Hook | 钩子 | React 的特殊函数 |
后端相关
| 术语 | 英文 | 通俗解释 |
|---|---|---|
| Backend | 后端 | 服务器端的程序 |
| Serverless | 无服务器 | 不用管服务器的部署方式 |
| Middleware | 中间件 | 请求的「安检通道」 |
| Authentication | 认证 | 验证你是谁(登录) |
| Authorization | 授权 | 验证你能干什么(权限) |
| JWT | JSON Web Token | 一种身份令牌 |
| OAuth | Open Authorization | 第三方登录(用微信登录) |
| ORM | Object-Relational Mapping | 用代码操作数据库的工具 |
| CRUD | Create Read Update Delete | 数据的增删改查 |
| Endpoint | 端点 | API 的具体地址 |
| Rate Limiting | 限流 | 防止请求太多搞崩服务器 |
数据库相关
| 术语 | 英文 | 通俗解释 |
|---|---|---|
| SQL | Structured Query Language | 操作关系型数据库的语言 |
| NoSQL | Not Only SQL | 非关系型数据库 |
| Table | 表 | 数据的「Excel 表格」 |
| Row | 行 | 一条数据记录 |
| Column | 列 | 一个数据字段 |
| Index | 索引 | 加速查询的目录 |
| Migration | 迁移 | 数据库结构的版本管理 |
| Query | 查询 | 从数据库获取数据 |
| Schema | 模式 | 数据库的结构定义 |
部署相关
| 术语 | 英文 | 通俗解释 |
|---|---|---|
| Deploy | 部署 | 把代码发布到网上 |
| CI/CD | Continuous Integration/Deployment | 自动测试+自动发布 |
| Docker | 容器 | 把应用打包成标准化的「集装箱」 |
| Container | 容器 | 独立运行的应用环境 |
| VPS | Virtual Private Server | 虚拟专用服务器 |
| DNS | Domain Name System | 域名解析系统 |
| Proxy | 代理 | 网络请求的「中转站」 |
| Webhook | 网络钩子 | 事件触发的 HTTP 回调 |
工具相关
| 术语 | 英文 | 通俗解释 |
|---|---|---|
| Git | - | 代码版本管理工具 |
| Repository | Repo | 代码仓库 |
| Commit | 提交 | 保存一次代码改动 |
| Branch | 分支 | 代码的平行宇宙 |
| Merge | 合并 | 把分支合到一起 |
| Pull Request | PR | 请求合并代码 |
| Package | 包 | 别人写好的代码模块 |
| Dependency | 依赖 | 你的项目需要用到的包 |
| CLI | Command Line Interface | 命令行工具 |
| SDK | Software Development Kit | 开发工具包 |
| Boilerplate | 模板 | 项目脚手架代码 |
| Snippet | 代码片段 | 可复用的小段代码 |
🧩 概念关系图
✅ 本节练习
- 用自己的话解释:域名、服务器、前端、后端、API、数据库分别是什么
- 画一张图:用你自己的类比(不一定是餐厅),画出这些概念之间的关系
- 查漏补缺:在接下来的学习中,遇到不懂的术语就回来查这个表
💬 不需要一次记住所有术语。把这页当字典用,遇到不认识的回来查就行。用多了自然就记住了。
下一节:2.6 网络环境配置 → HEREDOC_END