指南

前端与后端:到底有什么区别?

前端是应用中运行在用户浏览器里的部分,包括他们看到和点击的页面、按钮、表单和动画。后端是运行在服务器上、用户看不到的部分:它存储和读取数据,执行业务规则,检查谁有权做什么,并与支付、邮件等服务通信。两者通过 API 交换信息,再加上数据库,就构成了一个“全栈”应用。

用 AI 搭建应用时,为什么要了解这一点

当你向 AI 搭建工具描述一个应用时,无论你是否意识到,你其实同时描述了两个部分。“客户可以预约时段”这句话,意味着一个预约表单(前端)、一套关于哪些时段可约的规则(后端),以及保存预约记录的地方(数据库)。

了解这种划分,在三个实际方面很有帮助:

  1. 安全。 前端中的任何内容都可能被用户看到和修改。规则和密钥必须放在后端。
  2. 排查问题。 “按钮没反应”和“按钮有反应但没保存”指向的是不同的部分。告诉 AI 你看到的是哪种情况,有助于它更快找到原因。
  3. 托管与成本。 纯前端网站便宜且易于托管。后端需要有地方运行,这会影响你的费用,以及应用在闲置时的表现。

一个日常类比

可以把它想象成一家餐厅。

前端是餐厅的用餐区:菜单、餐桌、装潢,以及为你点餐的服务员。它是为顾客设计的,顾客能看到并接触到其中的一切。

后端是厨房和办公室:厨师做菜、库房、收银台,以及经理制定的谁能享受折扣的规则。顾客不会进入那里,也不应该能进去。

API 是两者之间的传递窗口,就是点单和出餐的柜台,按照约定的格式传递信息。数据库则相当于库房和订单账本。

顾客可以随意改写自己的点单单(前端在他们的控制之下),但厨房仍然决定做什么菜、收多少钱。所以重要的检查应该放在后端。

各自负责什么

前端后端
运行在哪里用户的设备,在浏览器中你(或你的主机服务商)控制的服务器
主要工作展示内容、收集输入、响应点击存储数据、执行规则、强制权限、调用其他服务
用户能否看到和修改代码?能,代码会下载到用户的浏览器中不能
能否保存密钥?不能能,放在环境变量中
常用技术HTML、CSS、JavaScript/TypeScript、React、Vue、Svelte、TailwindNode.js、Python(FastAPI、Django)、C#、Java、Go、Ruby
常见问题移动端布局错乱、按钮无响应、页面加载慢数据没有保存、显示错误的数据、报错、安全漏洞

有些框架会模糊这条界线。例如 Next.js 允许同一个项目同时包含浏览器端代码和服务器端代码。但基本思路不变:关键问题始终是“这段代码在哪里运行?”

实例:预约一节瑜伽课

下面是有人预约一节瑜伽课时,逐步发生的事情。

步骤位置发生了什么
1前端课程表页面加载,向后端请求本周的课程。
2后端从数据库读取课程和预约记录,计算剩余名额,并以 JSON 格式返回列表。
3前端显示每节课的时间、老师和剩余名额。
4前端用户选择一节课,填写姓名和邮箱。表单会检查邮箱格式是否有效(这只是友好提示,不是保证)。
5前端 → 后端通过 API 发送一个 POST /api/bookings 请求。
6后端再次验证输入,检查课程是否已满,保存预约,并使用一个密钥请求邮件服务发送确认邮件。
7后端 → 前端返回“预约成功”或“抱歉,名额已满”。
8前端显示确认页面。

注意第 4 步和第 6 步:输入被检查了两次。前端的检查提供即时反馈;后端的检查才真正有效,因为有心的用户完全可以绕过前端。

常见术语解释

术语含义
客户端 / 服务器客户端是发起请求的浏览器(或应用),服务器负责响应这些请求。
UI用户界面,即屏幕和控件。
API前端向后端请求数据或操作时所遵循的约定方式。
端点(Endpoint)API 上的一个具体地址,例如 /api/bookings。
全栈前端 + 后端 + 数据库的组合。参见什么是全栈应用。
静态网站没有自己后端的前端,所有人访问的都是同一套文件。
SPA单页应用:在浏览器中更新页面内容,而不是加载新页面的前端。
服务端渲染(SSR)服务器在发送页面前生成 HTML,有助于提升速度和搜索引擎优化效果。
环境变量运行时提供给后端的设置和密钥,不写在代码中。

你的应用需要后端吗?

如果你的应用…是否需要后端?
展示对所有人都相同的信息不需要
有一个只用来给你发邮件的联系表单通常需要一个小型后端,或使用表单服务
保存其他人会看到的数据需要
有登录功能和私人数据需要
接收付款需要,至少要用来创建结算页面并接收支付 webhook
使用需要密钥的付费 AI 或其他 API需要,以便把密钥留在浏览器之外

常见错误和误区

  • 把密钥放在前端。 任何人打开浏览器的开发者工具都能看到。这是 AI 搭建的应用中最常见也最严重的错误。
  • 只在前端执行规则。 对非管理员隐藏“删除”按钮并不能起到保护作用,后端必须拒绝这类请求。
  • 以为后端“就是数据库”。 数据库只负责存储数据。后端决定谁可以读取和修改这些数据,以及如何操作。
  • 认为 JavaScript 就等于前端。 JavaScript 和 TypeScript 借助 Node.js 同样可以在服务器上运行。
  • 怪错了地方。 如果页面显示正常但数据有误,问题通常出在后端或数据库,而不是设计上。
  • 过度设计。 作品集网站不需要定制后端。添加后端只会增加成本和需要维护的环节。

向 AI 搭建工具提出的请求

  • “这个应用的哪些部分在浏览器中运行,哪些在服务器上运行?”
  • “把所有 API 密钥移到后端,并从环境变量中读取。”
  • “每个表单既要在浏览器中验证,也要在服务器上验证。”
  • “在后端强制规定只有管理员才能删除预约。”
  • “页面显示正常,但数据没有保存,请检查后端日志中的这次请求。”
  • “这是一个简单的营销网站,除非需要,否则保持只有前端。”

Mythex 中的前端与后端

新建的 Mythex 项目从基于 Vite、React、TypeScript 和 Tailwind 的前端开始。当你的应用需要后端时,智能体会添加;你也可以要求在同一个项目中同时运行一个独立的 Node、Python(FastAPI)、C# 或 Java API。在预览中,你可以在网站和 API 服务器之间切换,发布时两者会一起部署,并在需要时添加数据库和文件存储。多服务应用的文档有详细介绍;网站托管指南说明了上线后两部分各自运行在哪里;应用模板则是快速查看全栈示例的好办法。

常见问题

前端和后端有什么区别?

前端是应用中运行在用户浏览器里的部分,也就是他们看到和点击的页面、按钮和表单。后端运行在用户看不到的服务器上,负责存储数据、执行业务规则、检查权限,并与支付、邮件等其他服务通信。

每个应用都需要后端吗?

不一定。营销网站、作品集或简单的落地页只需要前端。一旦应用需要保存共享数据、用户登录、收款或使用密钥调用API,就需要某种形式的后端。

HTML 属于前端还是后端?

在浏览器中运行的 HTML、CSS 和 JavaScript 属于前端。JavaScript 也可以通过 Node.js 在服务器上运行,这时它就是后端代码。决定它属于哪一端的不是语言,而是代码运行的位置。

全栈是什么意思?

全栈指同时涵盖前端、后端(通常还包括数据库)。全栈应用就是三个部分都有的应用,全栈开发者则负责其中的全部部分。

Mythex · Pricing · 用 AI 构建任何东西 · 网站和应用模板 · Mythex 对比 · AI 应用构建术语表 · 免费的 AI 应用构建工具 · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 繁體中文(香港) 繁體中文(台灣)