为什么这些术语总是记不牢
一开始做氛围编程,部署、端口、API、容器、构建这些词就扑面而来。逐个搜索时当下明白,过几天又模糊了。
因为是零散地记的。这些不是彼此独立的知识,而是同一条流程上按顺序排开的位置名称。不知道顺序,它们就是二十个互不相干的词;知道顺序,它们就是一条线。
所以这个连载不从工具用法开始。九篇从前到后走一遍这条线,今天先把整条线一次看完。
在地址栏输入后发生的事
在浏览器地址栏输入网址并回车,会依次发生三件事。
第一,我的浏览器向某处的一台电脑索要当前画面所需的内容。第二,那台电脑把文件发回来。第三,浏览器读取这些文件并画出画面。
无论是注册、看视频还是写评论,不同的只是表面。内部就是这三步在反复。
我的浏览器 ──── 请给我这个画面需要的内容 ────▶ 服务器
◀─── HTML · CSS · JavaScript · 数据 ───
浏览器读取收到的内容并画出画面服务器不是特殊的机器

负责应答的那台电脑叫服务器。这个名字容易让人联想到专用设备,其实它就是一台电脑。
不同之处只有一点:它一直开着,任何时候有请求都能回应。这个词本身就来自「服务」。
所以你的笔记本也可以是服务器。连着网、开着机、跑着一个会应答请求的程序,条件就齐了。开发时在自己电脑上起一个服务再用浏览器打开,正是这么回事。
学到的东西各自挂在哪里
把这条线画出来,后面出现的技术就各有定位了。
决定请求送往何处的是 IP、端口和域名。决定回什么的是 Web 服务器。生产要回的内容的是后端,把收到的内容画出来的是前端。存放内容的是数据库与存储。而把这一整套原样搬到另一台电脑上的,是容器。
九篇正是按这个顺序走:从浏览器读的三个文件出发,经过地址与门房,到前端与后端,再看数据存放在哪里,最后落在部署上。
| 篇次 | 线上的位置 | 代表名称 |
|---|---|---|
| 02 | 浏览器读的文件 | HTML · CSS · JavaScript |
| 03 | 请求送往何处 | IP · 端口 · 域名 · DNS |
| 04 | 决定回什么 | Nginx · HTTPS |
| 05 | 绘制收到的内容 | Next.js |
| 06 | 生产要回的内容 | FastAPI · JSON |
| 07 | 值存放在哪里 | PostgreSQL |
| 08 | 文件存放在哪里 | 存储 · CDN |
| 09 | 整体搬运的方法 | Docker · Kubernetes |
这张图真正派上用场的地方
打开智能体写的代码时,你有了一个可问的问题:这属于哪一格。
同样是「页面打不开」,每一格的原因都不同。地址指错、门房给错文件夹、后端造不出答案、数据库是空的,这是完全不同的四个问题。先缩小到某一格,搜索词就变了。
问智能体时也一样。「网站坏了」比不上「部署后域名能解析但返回 502」来得快。从下一篇开始,我们逐格填满。
