认识服务器-web服务器
我按照自己的理解思路制作了认识服务器的思维导图,大体上阐述分类,了解各种现存服务器是什么以及怎么用,另外阐述在我这个专业行业常见的应用场景,我们如何运用手中的计算机剖析服务器的逻辑以及内容。
本文章从web服务器开始分享,我通过了解web服务器的琐碎知识,将我的一些理解整理如下:

一、 Web服务器是什么?
Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。最主流的三个Web服务器是Apache、 Nginx 、IIS。引自 https://baike.baidu.com/item/WEB%E6%9C%8D%E5%8A%A1%E5%99%A8/8390210
https://baike.baidu.com/item/WEB%E6%9C%8D%E5%8A%A1%E5%99%A8/8390210
-
核心定义:
- Web服务器本质上是一个 软件程序(如 Apache, Nginx, IIS) 或者 运行这类软件的 计算机系统(硬件+软件+内容)。
- 它的核心工作是使用 HTTP协议(超文本传输协议) 或其安全版本 HTTPS 来响应来自客户端(通常是Web浏览器)的请求。
- 简单说:它是一个专门处理 “请求(Request)” - “响应(Response)” 模式的程序/系统。
-
主要功能:
引自 https://baike.baidu.com/pic/WEB%E6%9C%8D%E5%8A%A1%E5%99%A8/8390210/0/d56b3634d8d850285bb5f5fc?fr=lemma&fromModule=lemma_content-image
https://baike.baidu.com/pic/WEB%E6%9C%8D%E5%8A%A1%E5%99%A8/8390210/0/d56b3634d8d850285bb5f5fc?fr=lemma&fromModule=lemma_content-image
- 接收请求: 监听网络(通常是 TCP 端口 80 或 443),等待客户端(浏览器、App)发送来的 HTTP/S 请求。
- 处理请求: 解析请求信息(URL、请求方法如GET/POST、请求头、有时包括请求体数据)。
- 获取或生成资源: 根据请求的 URL 路径,在服务器文件系统上找到对应的静态文件(如 HTML, CSS, JS, 图片, 视频)或调用后端程序(如 PHP, Python, Node.js 脚本)动态生成内容。
- 发送响应: 将请求的资源(文件内容或动态生成的结果)打包成一个 HTTP 响应报文 发回给客户端。响应报文包含:
- 状态码: 告知请求是否成功(如 200 OK, 404 Not Found, 500 Internal Server Error)。
- 响应头: 包含元信息(内容类型、长度、缓存控制等)。
- 响应体: 实际的数据内容(HTML 页面、图片数据、API 返回的 JSON 等)。
- 管理连接: 处理与客户端的网络连接(建立、保持、关闭)。
-
核心特点:
- 静态内容服务: 高效地发送存储在硬盘上的文件(HTML, CSS, JS, 图片等)。这是最基础的功能。
- 动态内容处理(与应用程序服务器协同): 通过 CGI, FastCGI, WSGI, ASGI 等接口标准,将特定的动态请求(如需要查询数据库、用户登录)转发给后端应用服务器(如 Tomcat, uWSGI, Gunicorn, Express.js 应用)处理,并将结果返回给客户端。
- 托管网站/Web应用: 一个或多个网站/Web应用的代码和文件就存放在Web服务器上。
- 处理并发: 能同时处理多个用户的请求(这是现代Web服务器的关键能力)。
二、 Web服务器怎么用?
Web服务器的“使用”方式取决于你的角色和目的:
-
作为普通用户(访问网站):
- 无需直接操作Web服务器。
- 在浏览器地址栏输入网址 (URL)。
- 浏览器(客户端) 会自动向目标网站的 Web服务器 发送 HTTP 请求。
- Web服务器处理请求,将网页内容(HTML, CSS, JS)或数据(如 API 响应)发回浏览器。
- 浏览器解析并渲染内容,你就能看到和使用网站了。
- 用法总结: 你只需打开浏览器访问网站即可,Web服务器在后台默默工作为你提供服务。
-
作为网站所有者/开发者(部署网站/应用):
- 准备内容: 编写你的网站文件(HTML, CSS, JS, 图片等)或Web应用程序代码(PHP, Python, Node.js, Java 等)。
- 选择Web服务器软件: 根据需求(性能、易用性、功能特性)选择如 Apache, Nginx, IIS, Caddy, Lighttpd 等。
- 安装与配置:
- 在服务器计算机(本地电脑、云服务器如阿里云/腾讯云/AWS)上安装所选Web服务器软件。
- 进行基础配置:设置根目录(网站文件存放的位置)、默认文档(如 index.html)、监听的端口(80/443)。
- (可选)配置SSL/TLS证书以实现HTTPS加密。
- (动态内容)配置与后端应用服务器(如 PHP-FPM, Tomcat, Python WSGI服务器)的连接。
- (高级)配置虚拟主机(在一台服务器上托管多个网站)、URL重写、访问控制、缓存、负载均衡等。
- 上传文件: 将你的网站文件/应用程序代码上传到Web服务器配置好的根目录或其子目录中。
- 启动/重启服务器: 启动Web服务器软件使其开始监听请求。修改配置后通常需要重启生效。
- 测试访问: 在浏览器中输入你服务器的IP地址或绑定的域名,检查网站是否能正常显示和运行。
- 维护: 定期更新服务器软件和应用程序以修复安全漏洞,监控日志排查问题,备份数据。
- 用法总结: 安装、配置、上传文件、启动、测试、维护。核心是让Web服务器知道如何处理特定URL的请求并将正确的文件或程序结果返回。
-
作为后端接口消费者(调用API):
- Web服务器经常托管API(如 RESTful API)。
- 在你的程序(前端JS、后端应用、移动App、脚本)中,构造一个指向API端点的HTTP请求(指定 URL、方法如 GET/POST/PUT/DELETE、必要的请求头和请求体数据)。
- 向托管该API的Web服务器发送请求。
- 解析Web服务器返回的HTTP响应(状态码、响应头、响应体通常是 JSON/XML 数据)。
- 在你的程序中使用响应数据。
- 用法总结: 通过编程方式向Web服务器的特定URL发送结构化请求,并处理其返回的响应数据。常用工具如 Postman, curl 或编程语言的内置HTTP库。
总结关键点
- 是什么: Web服务器是处理HTTP(S)请求并返回响应的软件/系统,负责托管和提供网站/Web应用内容。
- 怎么用 (用户): 通过浏览器访问网站,无需操作服务器。
- 怎么用 (开发者): 安装、配置服务器软件,上传网站文件/代码,启动服务,进行维护。
- 怎么用 (API消费者): 向服务器上的API端点发送HTTP请求并处理响应数据。
理解Web服务器是理解互联网如何工作的基础之一。它就像一个永不疲倦的邮递员,时刻等待着你的指令(请求),然后快速准确地把你需要的信息(响应)送回来。🚀







