Web服务器和应用服务器之间的区别详解

 更新时间:2023年07月15日 08:42:10   投稿:caobin  
这篇文章主要介绍了Web服务器和应用服务器之间的区别详解,应用服务器是为客户端提供对业务逻辑的访问这种服务器,根据客户端的请求会将数据转化为动态内容,一般还需要数据库的支持,应用服务器的搭建很多时候依赖于应用程序的开发语言,需要的朋友可以参考下

Web服务器简介

什么是Web服务器

WEB即超文本(hypertext)、超媒体(hypermedia)和超文本传输协议(HTTP),获取这些静态资源实际上是在请求服务器上的文件。

这些文件都一直保存在服务器的磁盘上一个固定的文件路径,并生成一个对应的地址。

HTML页面就是WEB的数据元素,处理这些数据元素的应用软件就叫WEB服务器,WEB服务器常与客户端打交道,它要处理的主要信息有:session、request、response、HTML、JS、CS等。

常用的Web服务器

  • Nginx
  • Apache
  • Jetty (也支持动态页面处理,但主要还是静态页面)
  • IIS

应用服务器简介

什么是应用服务器

应用服务器是为客户端提供对业务逻辑的访问这种服务器,根据客户端的请求会将数据转化为动态内容,一般还需要数据库的支持,应用服务器的搭建很多时候依赖于应用程序的开发语言,各种编程语言生态下对应不同的软件, 比如使用Java语言开发的项目通常选择 Tomcat或者接jboss来作为程序运行的应用服务器,而使用python语言开发Web应用,一般会选用Django等python框架下的软件,来作为它的应用服务器。

常用的应用服务器

  • Tomcat
  • Jboss
  • WebLogic
  • 有的应用服务器也提供http服务,如Tomcat,所以可以说,Tomcat是Web服务器也是应用服务器。

Web服务器和应用服务器的区别及联系

WEB服务器一般是通用的,而应用服务器一般是专用的,如Tomcat只处理JAVA应用程序而不能处理ASPX或PHP。

而Apache是一个WEB服务器(HTTP服务器),它的数据源可以是配置在Tomcat中的JAVA应用,也可以是ASPX应用。

Web服务器只负责处理HTTP协议,只能发送静态页面的内容。而JSP,ASP,PHP等动态内容需要通过CGI、FastCGI、ISAPI等接口交给其他程序去处理,这个其他程序就是应用服务器。

Web服务器只处理静态html。走http协议。客户端为浏览器。

应用服务器主要是控制客户端和服务端的业务逻辑,通信格式不限制(如json、html或任何文件),也是走http协议。经常用来处理动态内容。客户端可以是浏览器,也可以是其他应用服务器,手机app等。

Web服务器可以算是应用服务器的一个子集。

现在很多Web服务器通过加载插件也支持动态页面的处理,应用服务器本身也支持静态页面的处理。

两者有很多重合的地方,现在也有人叫Web应用服务器。随着Web技术的火热,两者很多功能融合了,但是概念上还是有差异。

这里通过分析Nginx(Web服务器)和Tomcat(应用服务器)来展示二者之间的区别:

Tomcat的功能职责 :

Tomcat运行在JVM之上,它和HTTP服务器一样,绑定IP地址并监听TCP端口,同时还包含以下指责:

管理Servlet程序的生命周期。
将URL映射到指定的Servlet进行处理。
与Servlet程序合作处理HTTP请求——根据HTTP请求生成HttpServletResponse对象并传递给Servlet进行处理,将Servlet中的HttpServletResponse对象生成的内容返回给浏览器。

Nginx的功能职责:

动静态资源分离——运用Nginx的反向代理功能分发请求:所有动态资源的请求交给Tomcat,而静态资源的请求(例如图片、视频、CSS、JavaScript文件等)则直接由Nginx返回到浏览器,这样能大大减轻Tomcat的压力。
负载均衡,当业务压力增大时,可能一个Tomcat的实例不足以处理,那么这时可以启动多个Tomcat实例进行水平扩展,而Nginx的负载均衡功能可以把请求通过算法分发到各个不同的实例进行处理。

两者的区别:

Apache/Nginx叫做Http server ;而Tomcat 则是一个application Server,或者说是一个servlet/jsp应用容器(python无法直接运行在Tomcat上,java可以) 一个 HTTP Server 关心的是 HTTP 协议层面的传输和访问控制,所以在 Apache/Nginx 上你可以看到代理、负载均衡等功能。客户端通过 HTTP Server 访问服务器上存储的资源(HTML 文件、图片文件等等)。

而应用服务器,则是一个应用执行的容器。它首先需要支持开发语言的 Runtime(对于 Tomcat 来说,就是 Java),保证应用能够在应用服务器上正常运行。

其次,需要支持应用相关的规范,例如类库、安全方面的特性。对于 Tomcat 来说,就是需要提供 JSP/Sevlet 运行需要的标准类库、Interface 等。为了方便,应用服务器往往也会集成 HTTP Server 的功能,但是不如专业的 HTTP Server 那么强大,所以应用服务器往往是运行在 HTTP Server 的背后,执行应用,将动态的内容转化为静态的内容之后,通过 HTTP Server 分发到客户端。

Web服务器与应用服务器的选择

如果完全服务静态页面选择Web服务器(如一个静态博客网站)
如果有动态页面处理可以选择应用服务器,或者结合使用。大一点的网站推荐两者都使用,前后端分离,静态页面交给Web服务器,业务逻辑使用应用服务器。(如一个网上购物系统)

到此这篇关于Web服务器和应用服务器之间的区别详解的文章就介绍到这了,更多相关Web服务器和应用服务器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 宝塔面板屏蔽禁止某个IP段访问的办法实现

    宝塔面板屏蔽禁止某个IP段访问的办法实现

    有时候我们会遇到各种不明IP的访问,比如采集蜘蛛IP,那么应该怎么解决,本文主要介绍了宝塔面板屏蔽禁止某个IP段访问的办法实现,感兴趣的可以了解一下
    2023-08-08
  • koa TS ESLint搭建服务器重构版过程详解

    koa TS ESLint搭建服务器重构版过程详解

    这篇文章主要为大家介绍了koa TS ESLint搭建服务器重构版过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • OnZoom基于Apache Hudi的一体架构实践解析

    OnZoom基于Apache Hudi的一体架构实践解析

    这篇文章主要介绍了OnZoom基于Apache Hudi的一体架构实践, 有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • Web性能压力测试工具Siege使用教程

    Web性能压力测试工具Siege使用教程

    本文主要介绍了多线程http负载测试和基准测试工具Siege以及Siege的安装以及使用说明,有需要的朋友可以参考下
    2014-11-11
  • win2003服务器一招废掉所有木马(防提权)

    win2003服务器一招废掉所有木马(防提权)

    木马的危害,在于它能够远程控制你的电脑。当你成为“肉鸡”的时候,别人(控制端)就可以进入你的电脑,偷看你的文件、盗窃密码、甚至用你的QQ发一些乱七八糟的东西给你的好友
    2012-03-03
  • Zookeeper未授权访问测试问题

    Zookeeper未授权访问测试问题

    ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。这篇文章主要介绍了Zookeeper未授权访问测试,需要的朋友可以参考下
    2019-10-10
  • 运维的85条规则

    运维的85条规则

    2007 年,时任虚拟世界游戏公司 Vivaty 运维副总裁的 Jon Prall 在他的个人博客上发表过一篇《运维的85条规则》。2010 年他跳槽到视频电话公司 Tango 之初,做了两处更新,兹翻译如下
    2014-08-08
  • 一个SSL证书在线转换工具以及IIS7环境下开通https的方法

    一个SSL证书在线转换工具以及IIS7环境下开通https的方法

    公司只能提供 Nginx 下的 SSL 证书,却要在 IIS 里面开启 https 这个问题,那么就需要将pem转换为pfx,这里为大家分享一下几种方法
    2024-02-02
  • Xmeter API接口测试工具使用方法解析

    Xmeter API接口测试工具使用方法解析

    这篇文章主要介绍了Xmeter API接口测试工具使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • 手把手教你搭建腾讯云服务器入门(图文教程)

    手把手教你搭建腾讯云服务器入门(图文教程)

    这篇文章主要介绍了手把手教你搭建腾讯云服务器入门,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07

最新评论