当前位置: 首页 > news >正文

Web 服务器和Web 中间件

一、什么是 Web 中间件
Web 中间件(Web Middleware)是运行在 Web 服务器与实际业务程序之间的一层“胶水”软件,用来统一处理公共事务,让开发者专注写业务逻辑。常见职责:

  • 请求/响应拦截(鉴权、日志、跨域、限流)
  • 连接后端资源(数据库、消息队列、缓存)
  • 负载均衡、会话管理、安全过滤等

它像“机场安检+行李转盘”,所有乘客(HTTP 请求)都必须先经过它,再登机(业务代码)。

维度Web 服务器(Web Server)Web 中间件(Web Middleware)
核心职责监听 TCP 80/443,返回 HTML/JS/CSS/图片等静态内容;反向代理、SSL 终止运行动态程序(PHP、Java、Python、Node.js),连接数据库,做鉴权、日志、限流等公共逻辑
常见软件Nginx、Apache httpd、IIS、CaddyTomcat、Jetty、uWSGI、Gunicorn、Express、Spring Boot、WebLogic
对客户端直接与浏览器通信通常躲在 Web 服务器后面,不直接暴露
是否运行业务代码❌ 不执行,只转发或返回文件✅ 执行业务逻辑、模板渲染、数据库读写
举例场景Nginx 把 /static/logo.png 直接返回Tomcat 把 /user/login 交给 Java Servlet,查询 MySQL 后返回 JSON

Web 服务器=“静态文件快递员”;
Web 中间件=“动态业务调度员”。
Nginx 先接客,Tomcat 做业务”。


二、搭建一个网站需要的 7 大构件
按“从底层到浏览器”顺序,缺一不可:

构件作用常见方案
1. 服务器硬件运行所有软件云主机 ECS / VPS / 物理机
2. 操作系统基础环境Linux(CentOS、Ubuntu)或 Windows Server
3. Web 服务器监听 80/443,处理静态文件Nginx、Apache、IIS
4. Web 中间件 / 应用服务器运行动态程序,连接后端Tomcat、Node.js、Gunicorn、uWSGI、WebLogic
5. 数据库持久化数据MySQL、PostgreSQL、MongoDB
6. 域名 + DNS把 IP 变成人类可读的网址阿里云、Cloudflare、Namecheap 等注册/解析
7. 网站程序 / CMS具体业务逻辑或内容管理WordPress、Django、Flask、Shopify
http://www.dtcms.com/a/293668.html

相关文章:

  • Apache POI 介绍与使用指南
  • 思路探索:当大型语言模型遇见数据分析的现实挑战
  • 利用中间件实现任务去重与分发精细化:股吧舆情数据采集与分析实战
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 主页-最近七天微博发布量实现
  • java设计模式 -【装饰器模式】
  • C study notes[3]
  • JavaWeb笔记12
  • 硬件基础 -- 信号完整性
  • ESP32-S3学习笔记<4>:I2C的应用
  • 0基础法考随手笔记 02(刑诉法专题04 辩护与代理)
  • 如何用 Kafka + Redis + 线程池搭建高吞吐异步消息处理架构
  • TwoPhaseIterator 两阶段验证
  • Fastdds中的端口号计算
  • 基于 XGBoost 与 SHAP 的医疗自动化办公与可视化系统(下)
  • 在React中,函数式组件和类组件各有优缺点
  • 射频信号(大宽高比)时频图目标检测anchors配置(下)
  • 分布式任务调度实战:XXL-JOB与Elastic-Job深度解析
  • ZKmall开源商城微服务架构实战:Java 商城系统的模块化拆分与通信之道
  • 【音视频学习】五、深入解析视频技术中的像素格式:颜色空间、位深度、存储布局
  • TR-FRET(时间分辨荧光能量共振转移)在药物研发中的热门应用简介
  • 【解决vmware ubuntu不小心删boot分区,进不去系统】
  • 在 Ubuntu 上将 Docker 降级到版本 25.0.5 (二) 降低版本,涉及兼容性问题
  • 在离线 Ubuntu 22.04机器上运行 ddkj_portainer-cn 镜像 其他相关操作也可以复刻 docker
  • centos 配置docker
  • java通过com进行pdf转换docx丢失
  • mongodb的备份和还原(精简)
  • LeetCode11~20题解
  • Visual Studio中部署PaddleOCRv5 (借助ncnn框架)
  • 如何Visual Studio 的配置从 Qt-Debug 切换到 x64-Debug
  • ESP32的ADF详解:5. Streams的API