中间件服务器和Web服务器三者的区别

Posted AppleLife

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中间件服务器和Web服务器三者的区别相关的知识,希望对你有一定的参考价值。

相信很多的Web安全初学者和我一样,对中间件和服务器的认识不够深刻,对两者的概念可能会有所混淆。
正好今天在学习的时候突然想到了这个问题,粗略百度了一下,似乎网上对这个问题的解释不多,那么就由我来为大家解释一下中间件和服务器的关系。

 

一、服务器的定义:

服务器指的是一个管理资源并为用户提供服务的计算机软件通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。

 

二、中间件

中间件是服务器上负责解析http请求的一组应用程序,负责接收并解析http请求数据包,在服务器上找到数据包所请求的文件后,将其返回给客户端,如果http数据包所请求的是一个动态脚本文件,如php等,中间件就要靠CGI与脚本语言解析软件进行交互,处理好动态脚本文件后,再将处理后的文件其返回给浏览器。

 

说白了,中间件就是服务器上web端口(通常为80端口)的一个翻译官,负责告诉服务器用户要请求哪些文件,如果用户请求的是一个静态的html页面,就直接在服务器上找到对应文件并将其交给用户浏览器,如果用户请求的是一个动态页面如php,asp等,中间件在找到该文件后,将其交给对应的脚本语言解析程序,脚本语言解析程序将文件解析成html后,再把解析过的文件发送给浏览器。

 

所以,浏览器本身并不能渲染解析动态脚本文件,以php为例,浏览器解析的.php文件,实际上是经服务器php程序解析后的html文件

再者,如果服务器上没有安装中间件,那么服务器就不能理解用户发来的http数据包是什么意思,当然也就无法对http请求包进行正确的响应。

 

三、Web服务器

web服务器就是安装了中间件的服务器

 

 

以上是关于中间件服务器和Web服务器三者的区别的主要内容,如果未能解决你的问题,请参考以下文章

Web服务器之iis,apache,tomcat三者之间的比较

nginx,wsgi,uwsig区别

JMS和Web服务之间的区别[重复]

JBoss Web和 Tomcat的区别

转 : JBoss Web和 Tomcat的区别

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