web服务器:只处理html静态页面不处理动态页面,如apache/nginx/iis等。

应用服务器:能处理html静态页面也能处理动态页面,如tomcat/weblogic/websphere/jboss等。

http服务器:等同web服务器。

中间件:一般指应用服务器。但从中间件的定义--处于应用和应用、应用和系统之间的软件--来说,web服务器也可以算中间件,另外还有消息中间件等其他一些也是中间件。

说明:

1)就本身而言web服务器确实是不支持解析动态语言的:apache是不能解析php的iis也不能解析.net,前者是通过引入php模块后者是引入解析引擎才能解析的。

2)现在基本没有全静态页面的网站,web服务器常常要引入模块组成应用服务器使用同时单纯应用服务器也具有web服务器的功能,之所以还一直存在web服务器的概念主要是因为其在负载均衡(有数台机器部署了该网站)和反向代理(如php页面给php-fpm处理jsp页面给tomcat处理)上还是很好用的;另外在处理静态页面上应用服务器也不及web服务器好。

3)web服务器支持动态语言的两种方式:Handler模式和CGI模式。在系统层面上看Handler模式中web服务器和引入模块同属一个进程,而在CGI模式中web服务器和CGI是两个独立的进程。前者的典型代表是apache引入模块支持php,后者的典型代表是nginx通过php-fpm支持php

4)严格来说还将CGI模式分成CGI模式和FastCGI模式,前者对每个请求都fork一个进程去处理,这样显然是低效的;后者进行改进对所有请求都是一个进程在处理。上边说的php-fpm实际上是FastCGI模式。

5)实际上Apache解析php除了Handler模式,也支持CGI和FastCGI模式

6)中间件可以分为3大类:应用服务类中间件(等同应用服务器)、应用集成类中间件(消息中间件属于这类)、业务架构类中间件。

web服务器/应用服务器/http服务器/中间件的更多相关文章

  1. WEB服务器、HTTP服务器、应用服务器、IIS

    转载:https://www.cnblogs.com/brant/p/7209042.html Web服务器: 基本功能就是提供Web信息浏览服务.它只需支持HTTP协议.HTML文档格式及URL.与 ...

  2. 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服务器 WEB服务器 Java EE服务器

    转自:https://blog.csdn.net/tjiyu/article/details/53148174 各种容器与服务器的区别与联系 Servlet容器 WEB容器 Java EE容器 应用服 ...

  3. WEB服务器、应用程序服务器、HTTP服务器区别

    很清晰的解释了WEB服务器.应用程序服务器.HTTP服务器区别 转载自 http://www.cnblogs.com/zhaoyl/archive/2012/10/10/2718575.html WE ...

  4. [Java Web] 6、Tomcat服务器的安装及配置以及JSP技术笔记

    目录  1.Web容器简介  2.Tomcat粗介及配置粗讲  3.Tomcat服务器配置 3-1.修改端口号  3-2.配置虚拟目录 3-3.配置首页  4.JSP执行流程  5.JSP粗略了解 1 ...

  5. WEB服务器、应用程序服务器、HTTP服务器区别(转)

    WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器,这些问题困惑了很久,今天终于梳理清楚了: Web服务器 ...

  6. web服务器,应用程序服务器,http服务器的区别

    WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器? 这个概念很重要. Web服务器的基本功能就是提供We ...

  7. [转帖]JavaEE中Web服务器、Web容器、Application服务器区别及联系

    JavaEE中Web服务器.Web容器.Application服务器区别及联系 https://www.cnblogs.com/vipyoumay/p/5853694.html 在JavaEE 开发W ...

  8. WEB服务器、应用程序服务器、HTTP服务器的区别

    WEB服务器.应用程序服务器.HTTP服务器的区别 Web服务器: 基本功能就是提供Web信息浏览服务.它只需支持HTTP协议.HTML文档格式及URL.与客户端的网络浏览器配合.因为Web服务器主要 ...

  9. 区分Web服务器、HTTP服务器、应用程序服务器

    在学习前端的过程中.进程听到和看到web服务器.HTTP服务器.应用程序服务器,但一直不知道它们有什么区别,迷惑了好久,今天查看的很多博客,终于算是梳理通了,下面我就来总结一下它们的区别,顺别了解一些 ...

随机推荐

  1. PL/SQL Developer登录出现——Using a filter for all users can lead to poor performance!

    用PL/SQL  Developer登录Oracle时提示:Using a filter for all users can lead to poor performance! 分析:与Oracle的 ...

  2. class与struct的区别

    C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能: ①struct能包含成员函数吗? 能! ②struct能继承吗? 能!! ...

  3. js 捕获浏览器后退事件

    $(document).ready(function(e) {             var counter = 0;             if (window.history &&am ...

  4. [osg]OSG使用更新回调来更改模型

    使用回调类实现对场景图形节点的更新.本节将讲解如何使用回调来实现在每帧的更新遍历(update traversal)中进行节点的更新.        回调概览       用户可以使用回调来实现与场景 ...

  5. java 常用异常及作用

    先看看图, Exception就明白了 关于异常 大体分为 不可查异常 可查异常 runtimeException三类~异常都继承throwable这个类~ 下面有error和Exception两大类 ...

  6. 关于fstream、ifstream、ofstream读写文本文件、二进制文件详解

    fstream.ifstream.ofstream是c++中关于文件操作的三个类 fstream类对文件进行读操作和写操作 打开文件 fstream fs("要打开的文件名",打开 ...

  7. (转)Linux下设置和查看环境变量

    原文地址:<Linux下设置和查看环境变量> Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1. 永久的:需要修改配置文件,变量永久生效. 2. 临时的:使用e ...

  8. servlet容器、IOC容器、SpirngMVC

    servlet容器(这里指tomcat插件)存放servlet对象,而SpringMVC框架整个是一个servlet对象,而IOC容器 在Boot框架中,会存放产生servlet容器的工厂,工厂依据主 ...

  9. 转载:删除github上文件夹的两种方式

    http://www.jianshu.com/p/286be61bb9b8 删除github上文件夹的两种方式(解决已经加入ignore的文件夹无法从远程仓库删除的问题) 如果此文件夹已被加入git追 ...

  10. Passenger简介

    https://www.phusionpassenger.com/docs/tutorials/what_is_passenger/ What is Passenger? 一个开源的web程序服务.它 ...