全局图景
几乎你要做的每一个应用,都由四个互相对话的部分组成:
- frontend(前端) —— 用户看到并点击的东西。浏览器或手机应用里的那些界面、按钮和文字。
- backend(后端) —— 运行在你掌控的服务器上的逻辑。它来执行规则、干实际的活、并决定谁有权做什么。
- 数据库(database) —— 信息存放的地方,这样到了明天它还在。账号、帖子、订单。
- 托管(hosting) —— 在世界某个角落里真正运行以上这一切的那些电脑,好让别人能够访问到它。
它们是这样连起来的:
┌──────────────┐ 请求 ┌──────────────┐ 查询 ┌──────────────┐
│ │ ─────────────────────▶ │ │ ──────────────────▶ │ │
│ FRONTEND │ │ BACKEND │ │ DATABASE │
│ (浏览器) │ ◀───────────────────── │ (服务器) │ ◀────────────────── │ (存储) │
│ │ 响应 │ │ 行数据 │ │
└──────────────┘ └──────────────┘ └──────────────┘
你看到的东西 规则 + 逻辑 数据存放的地方
└──────────────────────────── 这一切都运行在 HOSTING 上 ───────────────────────────────────┘
frontend 从来不会直接跟数据库对话。它总是要经过 backend,因为规则住在那里。这一个事实就解释了应用是怎么搭起来的很多道理——也解释了为什么 "干脆让页面直接读数据库" 几乎从来都不是答案。