web服务器是什么意思:网页请求处理载体
web服务器是什么意思,指接收浏览器发来的HTTP、HTTPS请求,返回网页、图片、静态资源给访问者的软件或硬件设备,它只负责资源分发,不直接运行后端业务代码,适合承载静态页面、图片文件,动态程序一般搭配应用服务器协同工作,仅访问纯静态站点、小型图文展示页的场景可单独使用,有用户登录、数据读写、表单提交的业务系统,大多需要额外部署应用服务。
web服务器的核心工作流程
你在浏览器输入网址并回车,浏览器会生成请求报文发送到目标IP对应的端口,web服务器持续监听80端口用于HTTP、443端口用于HTTPS的访问信号,匹配请求路径下本地存储的资源文件,读取文件内容后封装成响应报文传回浏览器,浏览器解析报文渲染成可见页面。请求的资源不存在时,服务器返回404状态码,权限校验不通过则返回403状态码。整套流程不涉及数据库查询、复杂逻辑运算,这也是它和应用服务器最核心的区分点。
主流web服务器选型对比
| 名称 | 并发能力 | 上手难度 | 典型使用场景 |
|---|---|---|---|
| Nginx | 较强 | 中等 | 反向代理、静态资源、高并发站点 |
| Apache | 中等 | 偏低 | 传统PHP站点、配置灵活的小型网站 |
| Caddy | 中等 | 很低 | 个人站点,自动配置HTTPS证书 |
软件形态的web服务器更常用,硬件web服务器是预装对应服务程序的专用主机,硬件机型成本更高,普通开发者、站长大多直接在云服务器上部署软件版本。
它不等于网站服务器。
网站服务器是宽泛叫法,可以同时包含web服务器、应用服务器、数据库,web服务器只是整套网站架构里的其中一层组件。很多新手会混淆两者,把网站服务器的全部职责安到web服务器上,尝试只用Nginx处理用户注册、订单计算这类动态逻辑,最终出现功能无法正常运行的情况。
web服务器和应用服务器的边界
web服务器专注HTTP协议收发、静态文件读取、转发请求,不解析Java、Python这类后端代码;应用服务器可以加载运行后端程序,连接数据库,处理业务逻辑。生产环境常见搭配是Nginx作为web服务器接收外网请求,再把动态请求转发给Tomcat、uWSGI这类应用服务器处理,静态图片、CSS文件直接由Nginx返回,减少应用服务器的负载压力。
HTTP协议是它的基础通信标准。
部分web服务器支持扩展模块,简单扩展后可以实现基础的简易动态解析,但扩展后的性能上限偏低,不适合承载流量持续上涨的业务。
单机web服务器存在明确上限,单台机器无法承载十万级以上同时在线访问,流量上涨后需要借助负载均衡,把请求分发到多台web服务器实例,分散访问压力,避免单节点资源耗尽导致访问中断。
