Skip to content
📌知识点小结
  • 客户端是“发起请求、使用服务”的一方(如浏览器、App);服务器是“提供资源/处理请求”的一方。
  • 二者按“请求—响应”模式工作:客户端发请求,服务器返回结果。
  • 浏览器是最常见的客户端,负责渲染 HTML、执行 JS、保存 Cookie。
  • 一台服务器可同时服务很多客户端;客户端也可向多个服务器请求。
  • 安全要分清“代码在哪边执行”:前端在用户浏览器,后端在服务器,信任边界由此划分。
自测一下

0.20 客户端与服务器:谁在请求,谁在响应

第〇篇「零基础预科」免费。这一篇明确网络通信两端的角色,以及一条极重要的安全分界线。

一、两种角色

  • 客户端(Client):主动发起请求、使用服务的一方。浏览器是最典型的客户端,手机 App、命令行 curl 也可以是客户端;
  • 服务器(Server):监听端口、接收请求、处理并返回响应的一方(如你的 OpenResty + 网站文件)。

这种"请求—响应"模式是 Web 的基本工作方式。

二、浏览器这个客户端做了什么

  • 把 URL 解析、发起网络请求;
  • 接收 HTML/CSS/JS 并渲染成你看到的页面;
  • 执行 JavaScript(在你自己的电脑上);
  • 保存和回传 Cookie、缓存;
  • 处理表单、点击等交互。

三、关键安全分界线:代码在哪边跑

这是初学者必须建立的信任边界:

前端(客户端)后端(服务器)
运行位置用户的浏览器/设备远程服务器
用户能否查看/篡改能(F12、改 JS、改请求)不能直接
适合放展示、交互、体验性校验真正的权限校验、密钥、数据库操作

结论:前端的一切对用户都是可见、可改的。

  • 只在 JS 里判断"是否会员、是否管理员"毫无安全意义,因为别人能直接改;
  • 真正的访问控制必须在服务器执行——这正是本网站付费内容由 OpenResty + Lua 在服务器端校验 Cookie、而不是靠前端隐藏的原因;
  • 密钥、数据库连接串绝不能写进前端。

前端校验仍然要做,但目的是体验(即时提示、减少无效请求),安全校验在服务器再做一遍。

四、Cookie 与登录态

登录成功后,服务器用 Set-Cookie 让浏览器保存一个凭证;之后浏览器对同站请求自动带上这个 Cookie,服务器据此认出你。

  • 这也是为什么"退出登录"要让服务器清除 Cookie;
  • 在公用电脑上用完应主动退出。

五、本篇小结

  • 客户端发起请求并展示(浏览器渲染、执行 JS),服务器处理并响应。
  • Web 工作在"请求—响应"模式;Cookie 维持登录态。
  • 前端代码用户可见可改,不能当安全边界;真正的校验、密钥、数据操作必须在服务器。
  • 前端校验为体验,服务器校验为安全,二者都要。

下一篇 0.21 辨析三个常被混用的词:网页、网站、Web 应用。