web 服务器是什么设备,web 服务器是什么协议工作

很多人初次听到Web服务器,脑海里会浮现一台放置在机房、外形类似冰箱,指示灯不停闪烁的硬件设备。这个印象不算错误,但并不完整。日常交流中Web服务器一词,通常指代两类事物。一类是实体硬件,专门存放网站、处理访问请求的计算机。另一类是安装在服务器上的软件程序,像Nginx、Apache、IIS,真正处理访问请求的就是这类程序。说采购一台Web服务器,指代硬件;描述机器上运行Web服务器,指的就是软件。

硬件形态的Web服务器,和家用台式机基础架构没有本质差别,包含CPU、内存、硬盘、网卡、电源。区别在于一般不配备显示器、键鼠,系统安装Linux或者Windows Server,长期部署机房持续联网运行。硬件配置侧重点不一样,家用电脑侧重显卡与单核频率,Web服务器更看重网络吞吐、并发连接数量、硬盘读写稳定性。普通塔式服务器,搭载至强银牌或者锐龙处理器,几十G内存,多块SSD组建RAID阵列,就可以承载中型网站。大型互联网企业不会依靠单台服务器,而是成千上万设备组成集群,前端配置负载均衡,后端对接数据库,这属于另外的技术范畴。

web 服务器是什么设备,web 服务器是什么协议工作

软件层面的Web服务器,是编写代码、上传文件、配置域名时直接打交道的组件。Nginx目前使用范围最广,轻量化设计,并发承载能力强,大量企业用来做反向代理与静态资源分发。Apache发展时间久,扩展模块丰富,依靠.htaccess文件可以在网站目录单独配置,虚拟主机使用者比较熟悉。IIS属于Windows平台配套服务,和ASP.NET适配性好。还有更轻量的Caddy,可以自动配置HTTPS,简化部署操作。这类软件核心工作逻辑简单,监听网络端口,接收浏览器请求,返回页面、图片、接口数据。

它依靠HTTP协议完成交互,全称超文本传输协议,听起来学术,实际流程不难理解。浏览器地址栏输入网址,浏览器通过DNS获取服务器IP,在80或者443端口建立连接。连接成功后,浏览器发送文本请求,告知服务器访问路径与请求方式,服务器接收请求,读取硬盘文件,或是转发请求交给PHP、Python、Node后端程序处理,整理响应内容传回浏览器。响应报文附带状态码,200代表访问正常,404代表资源不存在,500代表服务器内部出错。浏览器接收内容,解析HTML,加载CSS、JS,页面渲染完成。

HTTP本身不保存用户状态,每次请求相互独立,服务器不会自动识别访客身份。Cookie和Session就是用来标记用户身份的配套机制。HTTPS在HTTP外层增加TLS加密,端口更换为443,浏览器和服务器传输的内容就算被截获也无法读取。现在绝大多数网站默认启用HTTPS,没有证书的HTTP站点,浏览器地址栏直接标记不安全。

更深一层,HTTP依托TCP协议运行。TCP拆分数据包,确认接收状态,丢包后重新传输。网页访问里的三次握手,就是TCP建立连接的过程。HTTP/1.1、HTTP/2基于TCP,HTTP/3改用QUIC,底层依托UDP,目标降低网络延迟。这类细节平时不用深究,排查故障或者面试时有可能接触。

Web服务器处理单次请求,耗时短则数毫秒,长则数秒。图片、CSS这类静态文件,Nginx直接读取硬盘返回,响应速度很快。动态请求需要后端程序运算、查询数据库、渲染页面,资源开销更大。主流方案前端部署Nginx,静态资源直接处理,动态请求转发后端应用服务器。分层分工架构,支撑每日百万甚至上亿次访问。

一台Web服务器承载访问量,不只取决于CPU和内存,带宽、硬盘IO、程序运行效率、数据库响应速度都会影响。同一台设备,运行纯静态页面和未开启缓存的WordPress站点,承载能力相差数十倍。有人询问Web服务器配置怎么选,答案由部署程序、访问人数、页面静态/动态属性决定。脱离这些条件讨论硬件配置,就像询问车辆油耗却不说车型路况,没法给出准确答案。

免责声明:本文提供的方法与建议仅供技术参考,实际部署效果受机房环境、运营商线路、系统配置等多重因素影响。请在专业人员指导下操作,因自行操作导致的业务损失本站不承担责任。

相关推荐

Web服务器架设 搭建Web服务器详细步骤

第一次搭建Web服务器,很容易觉得步骤繁杂,完整跑通一次之后会发现核心就三样:一台机器、Web服务软件、存放网页文件的目录。剩下工作都是围绕这三样做配置和安全加固。 先说机器。本地电脑