- 后端
- 文档
- 教程
【免费下载链接】system-design-101
Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.
导读:在互联网基础设施中,Web、Mail、DNS、Proxy、FTP 与 Origin 是出现频率最高的六类服务器,它们分别承担内容交付、邮件路由、域名解析、流量中介、文件传输与内容源的角色。本文以仓库文档 top-6-most-commonly-used-server-types.md 为核心骨架,结合仓库内多篇网络与基础设施指南,逐一拆解这六类服务器的工作原理、核心职责、常用端口与协议,并说明它们在生产架构中如何协同工作,帮助你建立可应对系统设计面试的基础认知。
1. Web Server:网站内容交付的第一入口
Web Server(Web 服务器)是托管网站并向互联网客户端交付网页内容的服务器。它是任何数据交换于 Web 上的基础,遵循 HTTP(超文本传输协议)这一典型的客户端-服务器协议——客户端发起请求,服务器返回 HTML 文档等资源(见 explaining-8-popular-network-protocols-in-1-diagram.md 中的 HTTP 部分)。
关键端口与协议
Web 服务器最常见的两个监听端口,在仓库的 18-common-ports-worth-knowing.md 中有明确记录:
| 端口 | 协议 | 用途 |
|---|---|---|
| 80 | HTTP | 明文传输网页内容 |
| 443 | HTTPS | 在 HTTP 之上加入加密,保障安全通信 |
HTTPS 在 explaining-8-popular-network-protocols-in-1-diagram.md 中被描述为 "extends HTTP and uses encryption for secure communications",是生产环境 Web 服务器的默认选择。
高性能实现参考:Nginx 的架构
仓库指南 why-is-nginx-so-popular.md 解释了主流 Web 服务器如何做到高性能:
- 采用master-worker 进程模型:master 进程负责读取配置和管理 worker 进程,worker 进程使用事件驱动的非阻塞 I/O 模型处理并发连接;
- 这一架构带来稳定性、可扩展性与高效资源利用,使 Nginx 同时胜任高性能 Web 服务器、反向代理、负载均衡、内容缓存与 SSL 终止等角色。
2. Mail Server:邮件收发与路由的中枢
Mail Server(邮件服务器)负责在网络中完成电子邮件的发送、接收与路由。仓库指南 how-is-email-delivered.md 用"互联网版邮政系统"类比,梳理了完整的邮件投递链路:
- 发件人通过MUA(Mail User Agent,邮件用户代理),如 Outlook 或 Gmail,将邮件推送到发件人邮件服务器;
- MTA(Mail Transmission Agent,邮件传输代理)通过SMTP 协议接力转发邮件(相当于邮政系统逐级转寄);
- 收件方邮件服务器收到邮件后,由MDA(Mail Delivery Agent)将邮件存入Mailbox(邮箱);
- 收件人再通过 MUA 使用POP3/IMAP 协议取回邮件。
邮件服务器涉及的核心端口
依据 18-common-ports-worth-knowing.md:
- SMTP(发送/中转):TCP 25;
- POP3(收件):TCP 110;
- IMAP(收件,支持多端同步):TCP 143。
邮件路由的 DNS 支撑
邮件服务器并非盲目转发,其投递目标由 DNS 的MX 记录决定。仓库 dns-record-types-you-should-know.md 明确指出:MX(Mail Exchange)记录用于将邮件流量导向正确的邮件服务器,是邮件系统正常工作的前提。
3. DNS Server:把域名翻译成 IP 的地址簿
DNS Server(DNS 服务器)将人类可读的域名(如 bytebytego.com)翻译为机器可读的 IP 地址,让用户无需记忆数字即可访问网站。仓库指南 how-does-the-domain-name-system-dns-lookup-work.md 将其比喻为互联网的"地址簿"。
层级结构:三层 DNS 服务器
DNS 服务器以层次化树状结构组织以支撑可扩展性:
- 根域名服务器(Root Name Server,.):存储顶级域(TLD)域名服务器的 IP 地址,全球共有 13 个逻辑根服务器;
- 顶级域服务器(TLD Name Server):存储权威域名服务器的 IP 地址,包括通用 TLD(.com、.org)、国家代码 TLD(.us)等类型;
- 权威域名服务器(Authoritative Name Server):对 DNS 查询给出最终答案,可通过 GoDaddy、Namecheap 等注册商登记。
DNS 查询的完整流程
- 浏览器将域名交给 DNS 解析器(resolver);
- 解析器查询根域名服务器;
- 根服务器返回 .com 等 TLD 服务器的地址;
- 解析器向 .com TLD 发起请求;
- TLD 服务器返回该域名权威域名服务器的 IP;
- 解析器向权威域名服务器发起查询;
- 权威服务器返回域名对应的 IP 地址;
- 解析器把最终 IP 返回给浏览器。
查询流量同时使用UDP 或 TCP 的 53 号端口(见 18-common-ports-worth-knowing.md)。
常用 DNS 记录类型
依据 dns-record-types-you-should-know.md,DNS 服务器维护以下 8 种最常用的记录:
| 记录类型 | 作用 |
|---|---|
| A | 将域名映射到 IPv4 地址 |
| AAAA | 将域名映射到 IPv6 地址 |
| CNAME | 将域名别名指向另一域名,常用于子域名指向主域名 |
| PTR | 反向解析,将 IP 地址映射回域名,用于验证服务器真实性 |
| MX | 将邮件流量导向正确的邮件服务器 |
| NS | 指定域名的权威 DNS 服务器 |
| SRV | 为特定服务(如 VoIP)指定主机与端口 |
| TXT | 添加可读文本,用于 SPF 等邮件安全验证记录 |
4. Proxy Server:客户端与服务器之间的网关
Proxy Server(代理服务器)是充当客户端与其他服务器之间网关的中间层服务器,可带来安全性、性能优化与匿名性。仓库指南 proxy-vs-reverse-proxy.md 将代理明确分为两类:
正向代理(Forward Proxy)
位于用户设备与互联网之间,常见用途:
- 保护客户端(隐藏客户端身份);
- 规避浏览限制(访问受限内容);
- 阻止访问特定内容(内容过滤)。
反向代理(Reverse Proxy)
接受客户端请求后转发给后端 Web 服务器,并把结果返回给客户端,仿佛请求由代理自己处理。典型价值:
- 保护服务器(隐藏后端真实地址);
- 负载均衡(分发流量到多台后端);
- 缓存静态内容;
- 加解密 SSL 通信(SSL 终止)。
仓库的 reverse-proxy-vs-api-gateway-vs-load-balancer.md 进一步给出了三者的选型对照:反向代理负责"隐藏身份",适合保护敏感网站;API 网关负责"派送请求",适合服务间通信频繁的复杂应用;负载均衡器负责"指挥交通",适合高流量场景。实际架构中三者常组合使用。Nginx 即是典型的反向代理 + 负载均衡实现(见 why-is-nginx-so-popular.md)。
5. FTP Server:网络文件传输的专用通道
FTP Server(FTP 服务器)基于FTP(File Transfer Protocol,文件传输协议)在客户端与服务器之间传输文件。仓库指南 explaining-8-popular-network-protocols-in-1-diagram.md 点出了 FTP 的一个关键设计特征:
FTP 拥有独立的控制通道与数据通道——控制连接负责传输命令与登录认证,数据连接负责实际文件内容传输。
FTP 服务器监听TCP 21 号端口(见 18-common-ports-worth-knowing.md)。其典型使用场景包括:网站批量资源上传、内网文件共享、与 Web 服务器协同完成内容发布等。在现代云环境中,FTP 也常被对象存储与 SFTP(基于 SSH)等更安全的方案替代,但理解其双通道模型依然是掌握文件传输类服务的基础。
6. Origin Server:CDN 内容分发的源头
Origin Server(源站服务器)托管内容的中央源头,这些内容会被缓存并分发到边缘服务器(edge servers),以便更快地送达终端用户。
源站与 CDN 的关系
仓库指南 what-is-cdn-content-delivery-network.md 解释了完整的协作机制:
- CDN指地理上分布式部署的服务器(又称边缘服务器),提供静态与动态内容的快速交付;
- 有了 CDN 后,用户不必每次从源站拉取音乐、视频、文件、图片等内容,而是就近从 CDN 节点获取缓存副本;
- 源站只需在缓存未命中或内容更新时响应边缘节点。
源站模式带来的收益
CDN 体系(以源站为根)带来的四项核心收益:
- 降低延迟(就近取数);
- 降低带宽消耗(缓存命中减少回源流量);
- 提升网站安全性,尤其是抵御 DDoS(分布式拒绝服务)攻击;
- 提高内容可用性(边缘节点冗余)。
六类服务器的定位与对比一览
| 服务器类型 | 核心职责 | 典型协议 / 端口 | 在系统中的位置 |
|---|---|---|---|
| Web Server | 托管网站、交付网页内容 | HTTP/HTTPS,80/443 | 内容交付的最前端 |
| Mail Server | 邮件的发送、接收与路由 | SMTP(25)、POP3(110)、IMAP(143) | 邮件系统的中枢 |
| DNS Server | 域名 → IP 地址解析 | DNS,53(UDP/TCP) | 一切域名访问的前提 |
| Proxy Server | 客户端与服务器之间的中介 | HTTP 等 | 位于流量路径中间 |
| FTP Server | 客户端与服务器间的文件传输 | FTP 控制通道(21) | 文件交换专用通道 |
| Origin Server | 承载内容源头,供边缘节点缓存分发 | HTTP/HTTPS 等 | CDN 体系的根节点 |
结语:从单点到协同
理解六类服务器的第一步是掌握各自的单点职责,而系统设计的关键在于它们如何协同:
- 用户输入域名 →DNS Server解析出 IP;
- 浏览器请求到达Web Server(或经Proxy Server反向代理与负载均衡);
- 静态资源由Origin Server回源、经 CDN 边缘节点分发;
- 邮件收发由Mail Server依 MX 记录完成路由;
- 批量文件则通过FTP Server传输。
仓库内 load-balancer-realistic-use-cases-you-may-not-know.md、key-use-cases-for-load-balancers.md 与 must-know-system-design-building-blocks.md 等文档可帮助你进一步理解这些服务器在真实架构中的组合方式,为系统设计面试打下扎实的基础。
- 后端
- 文档
- 教程
【免费下载链接】system-design-101
Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.
相关推荐
system-design-101 详解:8 种常用 DNS 记录类型(A、CNAME、AAAA、MX、NS、SRV、PTR、TXT)
system design 101 详解:8 种常用 DNS 记录类型(A、CNAME、AAAA、MX、NS、SRV、PTR、TXT) 导读 DNS(Domai
后端文档教程如何设计高并发游戏服务器架构:从单服到百万玩家的完整指南
如何设计高并发游戏服务器架构:从单服到百万玩家的完整指南 System Design 101项目通过视觉化和简单术语解释复杂系统,帮助开发者准备系统设计面试。本
后端文档教程跨平台字体一致性解决方案:6字重双格式字体包的技术实现与部署指南
跨平台字体一致性解决方案:6字重双格式字体包的技术实现与部署指南 技术挑战分析:企业级字体渲染的跨平台困境 在数字化产品开发中,字体渲染一致性已成为影响用户体验
前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考