web服务器 (nginx、apache等)
1. 定义(处理HTTP请求,返回静态内容)
专注于处理HTTP协议请求,主要负责接收客户端(如浏览器)的请求,返回静态资源(html、css、图片等),或者转发动态请求给应用服务器。可独立运行。
2. 核心功能
- 静态资源处理:直接返回预存储的静态文件(如网页、图片)
- 请求转发:将动态内容请求(如用户登录、数据查询)转发给应用服务器。
- 基础安全:支持HTTPS、SSL证书管理等。
3. 适用场景
- 托管静态网站或前端资源
- 作为反向代理,分发请求到后端服务器
性能优化
高并发静态资源处理,低延迟。
应用服务器 (tomcat、spring boot等)
1. 定义 (运行业务逻辑,生成动态内容)
专注于运行业务逻辑和动态内容生成,主处理复杂的计算、数据库交互和事务管理。通常依赖Web服务器转发请求
2. 核心功能
- 动态内容生成:执行代码(如Java Servlet、Python脚本)生成动态响应(JSON、数据库查询结果)。
- 事务管理:支持数据库事务、会话管理(如用户登录状态)。
- 集成服务:连接数据库、消息队列、缓存等中间件。
3. 适用场景
- 处理需要数据库交互或复杂计算的请求。
- 运行企业级应用(如电商平台、银行系统)。
性能优化
侧重CPU密集型计算和事务处理。
示例
- 用户访问网站
- web服务器接受请求,如果路径指向静态资源,直接返回,如果为动态请求(产品详情等),转发给服务器查询库
- 应用服务器执行java等代码查询数据库,生成动态html或者json返回给web服务器
- web服务器吧相应返回给客户。
搭建静态服务器的好处
性能优势
- 高速相应:静态资源直接存储在服务器,无需动态逻辑处理或者数据库