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. python模块(3)

    1.xml:实现不同语言或程序之间进行数据交换的协议 <data> <country name="Liechtenstein"> <rank upda ...

  2. 关于ES6的一些新特性的学习

    一.关于变量 ES5 1.只有全局作用域变量和函数作用域变量 2.“变量提升”(当程序进入一个新的函数时,会将该函数中所有的变量的声明放在函数开始的位置.仅仅会提升变量的声明,不会提升变量的赋值) E ...

  3. npm install 报错ERR! 404 Not Found: event-stream@3.3.6

    在win下开发的node工程,在linux下用dockerfile部署时,遇到npm install时报错 Step / : RUN npm install ---> Running in 2e ...

  4. 第 2 章 容器架构 - 006 - 容器 What, Why, How

    What - 什么是容器? 容器: 容器是一种轻量级.可移植.自包含的软件打包技术,使应用程序可以在几乎任何地方以相同的方式运行. 开发人员在自己笔记本上创建并测试好的容器,无需任何修改就能够在生产系 ...

  5. appium --log-timestamp > appium.log

     appium --log-timestamp > appium.log 

  6. PHP数组排序函数有哪些

    PHP数组排序函数有哪些 一.总结 一句话总结:其实也就是是否保持索引,对键排序还是对值排序,除了sort,rsort.shuffle,usort外,都是保持索引的 是否保持索引 键排序 值排序 除了 ...

  7. 怎么检测自己fastq的Phred类型 | phred33 phred64

    http://wiki.bits.vib.be/index.php/Identify_the_Phred_scale_of_quality_scores_used_in_fastQ # S - San ...

  8. eclipse---->自己常用的快捷键

    organize imports----> ctrl+shift+o  导入其他工程的类(在学习springboot的注解@EnableAutoConfiguration时用到) 关闭当前窗口的 ...

  9. LeetCode--003--无重复字符的最长子串

    问题描述: 给定一个字符串,找出不含有重复字符的最长子串的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 无重复字符的最长子串是 "abc" ...

  10. sgu 169 Numbers

    题意:n和n+1同时被数位乘积整除的k位数个数. 假如a是237,b是238.由于个位以前的数一样.那么对于2,如果a%2==0,b%2就!=0,如果a%3==0,b%3就!=0.因此个位以前的数只能 ...