Web 服务器的类型及其运行的软件

Web 服务器如何展示你的邮件并与你的用户沟通 - webmail、联系表单与确认邮件 - 你会遇到的主要软件,以及为什么一个域名的网站与其邮件分别运行在不同的服务器上。

Web 服务器是负责监听 HTTP/HTTPS 请求并向浏览器返回网页的软件。对电子邮件而言,它的重要性超出人们的预期:Web 服务器是用户阅读邮件(webmail)的地方,是他们向你发送消息(联系表单)的地方,也是每一句“我们将通过邮件向你发送确认”的起点。它是与用户沟通的正门——网站发出请求,邮件随后跟进。

1. Web 服务器 vs. 应用服务器 vs. 反向代理

“服务器”一词涵盖了几种通常一起运行的角色:

  • Web(HTTP)服务器 — 负责说 HTTP,提供页面和静态文件。例如:Nginx、Apache、LiteSpeed、IIS、Caddy。
  • 应用服务器 — 运行那个生成页面并触发邮件(注册确认、密码重置)的程序。例如:PHP-FPM、Apache Tomcat、Gunicorn、Node.js。
  • 反向代理 / 负载均衡器 — 位于最前端,终结 TLS、进行缓存、分摊流量。Nginx、HAProxy、Envoy、Caddy;像 Cloudflare 这样的 CDN 也扮演这一角色。

2. 你实际会遇到的 Web 服务器软件

软件通常用于说明
Nginx高流量站点、反向代理、静态文件、webmail 前端事件驱动,高负载下效率极高;常置于 PHP-FPM 或 Node 之前。
Apache HTTP Server共享主机、经典 LAMP 体系、绝大多数 webmail 安装模块系统(含 mod_php);.htaccess 使其成为共享主机的默认之选。
LiteSpeed / OpenLiteSpeed高性能主机、WordPress、控制面板与 Apache 配置兼容,可更快地直接替换;页面缓存能力强。
Microsoft IISWindows Server、ASP.NET、Outlook on the web与 Windows、.NET 及 Exchange 的网页访问紧密集成。
Caddy现代化部署、小型服务开箱即用的自动 HTTPS;配置简单。
Node.js(Express 等)JavaScript 应用、API、实时聊天与通知运行时本身即服务器;生产环境中通常置于反向代理之后。
Lighttpd嵌入式设备、轻量级静态服务占用空间小;属小众,但在专用设备和路由器上仍可见到。

3. Web 服务器如何显示邮件并与用户对话

这正是 Web 服务器与电子邮件直接相遇之处:

  • Webmail — 像 Roundcube、SOGo 和 Rainloop/Snappymail 这样的客户端都是 Web 应用。Web 服务器(Apache/Nginx)在浏览器中渲染你的收件箱;而在其背后,由 IMAP 服务器保存着真正的邮件。
  • 联系与注册表单 — 当访客给你写信时,Web 服务器上的 Web 应用会把消息交给邮件服务器去投递。表单是网站的那一半;邮件则是后续的跟进。
  • 事务性邮件 — 确认信、收据、密码重置和提醒由应用服务器上运行的代码触发,随后通过 MTA 或某个 API(Amazon SES、SendGrid…)发送出去。
  • HTML 邮件渲染 — 构建网页所用的那套 HTML/CSS 技能,同样用于构建用户收到的邮件;这条消息实际上就是一张投递到收件箱的微型网页。

4. Web 服务器 ≠ 邮件服务器

一个域名的网站和它的电子邮件由不同的服务器投递,由不同的 DNS 记录指向。Web 服务器通过 A/AAAA 记录找到(浏览器、HTTP);邮件服务器则通过 MX 记录找到(其他邮件服务器、SMTP)。一个站点可能拥有完美无瑕的网站,却完全没有可用的邮件——反之亦然。

这正是为什么一个快速的网站完全说明不了 someone@theirdomain.com 是否能收到邮件。要检查邮件这一侧,请使用我们的 MX Lookup 和 email checker;要了解邮件一侧的软件,请参阅 电子邮件服务器的类型。

5. 如何判断一个站点使用了哪种 Web 服务器

大多数 Web 服务器会在 Server 响应头中表明自己的身份:

curl -I https://example.com
HTTP/2 200
server: nginx
content-type: text/html; charset=UTF-8

运营者可以隐藏或伪造这个响应头,而 CDN 往往会报告它自己的服务器,而非源站的——所以应把它当作有力的提示,而非证据。同样的道理也适用于邮件一侧:SMTP 服务器的问候横幅通常也会标明它自己的软件。