计算机系统
系统知识只有在能够解释运行时现象时才真正有用。“端口可达”和“SSH 服务器接受了连接”是两个不同结论;“API 返回 200”和“返回的数据完整”也是两个不同结论。
按阶段思考
面对任何操作,都可以先列出它经历的阶段以及每个阶段产生的证据。一次浏览器请求可能穿过 DNS、本地隧道、代理、TCP、TLS、Nginx、应用 Handler 和 PostgreSQL。每个阶段都可能成功,而下一个阶段失败。
已有文章
- 一次网络请求的完整旅程:识别真实连接目标,区分名称解析、路由、传输、加密、HTTP 和应用行为。
计划补充
- 进程、文件描述符与 Socket
- TCP 重传与超时解释
- TLS 证书与信任链
- 反向代理与负载均衡
- 数据库连接、锁与隔离级别
- 容器、Namespace 与主机网络