你打开手机刷网页、看视频、点外卖,这些操作背后其实都离不开两个角色:服务器端和客户端。它们就像餐厅里的厨房和服务员,分工明确,缺一不可。
客户端是你的“操作界面”
你手里的电脑、手机、平板,运行着浏览器、App,这些都是客户端。它负责把信息展示给你看,也接收你的点击、滑动、输入。比如你在淘宝搜索“拖鞋”,点一下搜索按钮,这个动作就是由客户端发起的。
客户端不负责处理复杂逻辑,它更像是一个“传话员”。你说要查天气,它就打包请求发出去;等数据回来了,它再把温度、晴雨图标画在屏幕上。
服务器端是背后的“大脑”
真正干活的是服务器端。它通常藏在某个数据中心里,可能是一台或多台高性能机器。当你的客户端发来“查天气”的请求,服务器端才会去连数据库、调用天气接口、算出结果,再把数据打包送回来。
你可以理解为,客户端只管“面子”,服务器端才管“里子”。登录验证、订单生成、文件存储,这些敏感又复杂的任务,全都在服务器端完成。
举个吃饭的例子
你去饭馆坐下,翻开菜单点菜——这就像你在手机上操作App;服务员记下你的需求,跑去后厨下单——相当于客户端把请求发给服务器;厨师炒菜、装盘、交给服务员——这就是服务器端处理并返回结果;最后菜端到你面前——客户端把数据渲染成你能看懂的界面。
要是没服务器,客户端就像空有菜单没有厨房;要是没客户端,服务器就算算得再快,你也看不到结果。
代码长什么样?简单看看
假设你要从网页获取用户信息,客户端可能用JavaScript发个请求:
fetch('/api/user/123')
.then(response => response.json())
.then(data => console.log(data));
而服务器端要用Node.js接收这个请求,查数据库,再返回:
app.get('/api/user/:id', (req, res) => {
const user = db.findUserById(req.params.id);
res.json(user);
});
你看,两边写的语言可能一样(都是JavaScript),但做的事完全不同。一个对外沟通,一个对内运算。
安全边界也很清楚
你在客户端能看到的代码,比如网页的HTML、CSS、前端JS,都是公开的,谁都能查看源码。但服务器端的代码、数据库密码、业务逻辑,统统不会暴露。这也是为什么登录验证必须在服务器做——不然你账号密码岂不是人人可见?
换句话说,客户端是前台,服务器端是后台。你在前台看到的一切,都是后台允许你看到的。