网站运行原理入门

一个网站 / App / 小程序是怎么跑起来的?

你看到的是页面和按钮,背后其实是一条“请求数据”的路:客户端发起请求,服务器处理逻辑,数据库保存和返回数据。

前端显示 后端处理 数据库保存

STEP 1

你打开网站 / 小程序 / App,背后发生了什么?

看起来只是点了一下,其实是客户端、服务器、数据库在接力。

1
你打开网站 / 小程序 / App 触发请求

打开网站,是在浏览器里输入网址;打开小程序,是在微信里点一下;打开 App,是点手机桌面上的图标。 看起来不一样,但这三件事背后干的是同一件事:去远程的一台电脑(服务器)上把你要的内容取回来,显示在你的屏幕上。

网站 输入网址
·
小程序 壳在微信里
·
App 界面在本地

但问题来了——你的手机怎么知道那台服务器在哪?👇

2
DNS:帮你把网址查成服务器 IP 地址 域名解析

你在浏览器里输的网址(比如 aicodemood.com)是给人读的,计算机根本不认识它。计算机只认服务器的 IP 地址(比如 47.96.x.x)。DNS 就是那本"通讯录"——你说出网址,它帮你查出对应服务器的 IP 地址,你的电脑才知道该去哪台服务器取页面。

你的设备 问:这个网址在哪?
DNS 服务器 ("通讯录")
47.96.x.x 找到了,去这里
3
客户端连上服务器,发出请求 HTTPS 握手

找到 IP 后,你的客户端(浏览器、App、小程序都算)和服务器先做一次"握手"——确认对方是真的、可以联通的,加密好传输通道。握手完成后,客户端说:"我要这个页面 / 这条数据,给我返回一下。"

4
服务器处理并返回数据 后端响应

服务器收到请求后开始干活:先去数据库查需要的数据(比如你的账号信息、文章列表),然后把结果打包发回去。网站发回的是 HTML / CSS / JS 文件,浏览器拿到直接画页面;App 和小程序发回的是 JSON 数据(就是一堆结构化的文字),由 App 自己决定怎么展示。你看到页面上的内容,都是这一步从服务器"取"回来的。

5
客户端渲染,页面出现在你眼前 渲染完成

浏览器把收到的 HTML / CSS / JS 组装成页面;App 和小程序则把服务器返回的数据填进自己的界面模板里。你最终看到的内容,就是这一步"画"出来的。

以后每次看到"加载中""网络请求失败",你就知道了——是这条取数据的路上某个环节出了问题。那这条路上的"前端""服务器""数据库"到底分别是啥?往下看 👇

STEP 2

搞懂编程,要认识这三个角色

上面那条路,其实只有三个人在干活——搞懂各自负责什么,你才能真正看懂一个项目

FRONTEND

前端

用户看得见、摸得着的部分。按钮、页面、动画,所有你能点击的东西。

HTML 页面骨架
CSS 视觉样式
JavaScript 交互逻辑

常用框架 / 工具

JS 框架 React、Vue、Astro、Next.js
CSS 框架 Tailwind、Bootstrap、UnoCSS
HTML 模板 Pug、EJS、Handlebars

BACKEND

后端

用户看不到的幕后处理中心。验证密码、处理订单、发送通知。

接收请求 前端发来操作
处理逻辑 验证、计算
返回结果 发回给前端

常用语言 / 框架

Node.js Express、NestJS
Java Spring Boot
Python Django、FastAPI
PHP Laravel

DATABASE

数据库

程序关掉数据就没了,数据库负责永久保存用户信息、订单、文章等数据。

MySQL 表格式,最常用
MongoDB 文档式,更灵活
Redis 内存式,超快速

常见数据库

关系型 MySQL、PostgreSQL、SQL Server
非关系型 MongoDB、Redis、Elasticsearch

用外卖 App 类比,一秒记住

你在美团上看到的菜单、图片、按钮,是 前端 画的; 你点完单,背后扣钱、通知商家、分配骑手,是 后端 处理的; 你的地址、历史订单、收藏的店,存在 数据库 里。

STEP 3

它们三个怎么配合干活?

举个例子:你点一下"登录",背后悄悄发生了这几件事

前端(网站/APP/小程序看到的页面)
后端(看不到处理逻辑的后台服务)
数据库(存放数据的仓库)
1

输入账号密码

你点"登录",页面收集信息打包成 JSON

❌ 格式错误提示

弹出"邮箱不能为空"等提示,流程终止

6

登录成功

存好登录凭证,跳转到主页

❌ 账户或密码不正确

弹出提示,不告知具体是哪个错了,流程终止

2

收到 HTTP 请求

前端通过 HTTPS 把数据送到后端

3

验证数据格式

邮箱写没写?密码空不空?不对就拦下,直接返回错误

校验失败 → 返回错误

400 Bad Request,告诉前端哪里填错了

5

拿到数据,校验信息

数据库返回用户信息,比对密码是否正确,正确则颁发登录凭证

密码验证失败 → 返回错误

401 Unauthorized,密码对不上

4

查找用户信息

"这个邮箱有注册过吗?
找到了,把加密存储的密码和用户信息给你"

一图看完本网站数据流

打开本站
浏览器输入网址
Astro
前端 aicodemood.com
请求教程列表
返回教程数据
Express
后端服务 处理请求逻辑
查询教程数据
返回查询结果
MySQL
数据库

前端

渲染页面,向后端请求数据再展示给你

后端服务

去数据库查询教程数据,再返回给前端

数据库

存储本站所有教程、用户和项目数据

请求方向 响应返回

STEP 4

这样一个网站,到底怎么做出来的?

从选择语言到全世界都能打开,要经过这五步

STEP 01

编程语言

大概看懂 AI 在写什么

编程语言就是写代码要用的语言。就像中文、英文都有自己的规则和语法,JavaScript、Python 这些编程语言也有各自的写法。现在有 AI 帮你写代码,不需要一开始把语法背得很深,但最好先选一门主线语言,大概了解变量、判断、循环、函数这些基本概念。这样 AI 写出来的代码,你至少能看懂大概在做什么。

JavaScriptTypeScriptPython

语言方向定了,再按这门语言去安装对应的运行环境和基础工具

STEP 02

开发环境

先让本地电脑能跑代码

写代码前,要在自己电脑上先装好一整套支撑代码运行的软件,比如运行代码用的 Node.js、存数据用的 MySQL 数据库。装好后就能在本地把网站跑起来,自己先看到效果,这时候还只有你自己能打开。

Node.jsMySQLGit

环境装好了,再打开编程工具,配合 AI 把功能一步步写出来

STEP 03

编程工具

写代码、和 AI 对话的地方

专门用来写代码的软件叫编程工具(IDE / 编辑器),比记事本好用得多。VS Code、Kiro 这类工具还能直接接入 AI 编程助手——你用大白话说需求,AI 帮你把代码写出来,报错了就接着聊、接着改。

VS CodeKiro和 AI 对话调整

本地把功能都跑通、自己看着没问题了,就该让全世界都能访问

STEP 04

服务器

让全世界都能打开的电脑

代码在自己电脑上跑,只有自己能看到。要让所有人都能访问,得把代码搬到一台 24 小时不关机、一直联网的电脑上运行——这台电脑就是服务器。阿里云、腾讯云、AWS 按月或按年就能租一台,不用自己买机器放家里。

阿里云腾讯云AWS

服务器有了,但它的地址是一串谁也记不住的数字,还得起个好记的名字

STEP 05

域名

好记的名字,代替难记的数字地址

服务器上线后会有一个数字地址(IP),但这串数字太长根本记不住。域名就是给这串数字起的好记名字,比如 aicodemood.com——输入它,系统会自动翻译成对应的数字地址,帮你找到那台服务器。国内服务器还要先给域名做"备案"才能用。

万网备案DNS 绑定

这五步顺序别乱

先选一门主要语言,大概看懂 AI 在写什么 → 按语言安装开发环境 → 用编程工具配合 AI 把功能写出来、本地跑通 → 部署到服务器 → 绑定域名让别人能访问。