IIS、Apache、Tomcat、Nginx、CDN,它们之间有何区别?
首发

IIS、Apache、Tomcat、Nginx、CDN,它们之间有何区别?

优质
请用语音读文章

热门回答:

一个学习的总结。或者说是汇总。有些链接给出的观点过时。已按照自己的理解经过修改编辑;

web服务器

Web服务器的基本功能就是提供Web信息浏览服务。响应客户端的浏览器请求。因为Web服务器主要支持的协议就是HTTP。所以通常情况下HTTP服务器和WEB服务器是相等的。待考:支持除HTTP之外的协议的web服务器?

不支持事务处理或数据库连接池。但它可以配置各种策略来实现容错性和可扩展性。例如负载平衡。缓冲。集群。

IIS、Apache、Tomcat都可以属于Web服务器。

IIS 是微软开发的web服务器。需要收费。主要用来跑 asp.net asp php。只能在windows下运行。

Apache与Tomcat都是Apache开源组织开发的用于处理HTTP服务的项目。两者都是免费的。都可以做为独立的Web服务器运行。Apache是Web服务器而Tomcat是Java应用服务器。Apache服务器 只处理 静态HTML。而tomcat服务器 静态HTML 动态 JSP Servlet 都能处理。

一般是把 Apache服务器 与 tomcat服务器 搭配在一起用:

1) Apache服务器 负责处理所有 静态的 页面/图片 等信息。

2) Tomcat 只处理动态的 部分。

Apache:是C语言实现的。专门用来提供HTTP服务。特性:简单、速度快、性能稳定、可配置(代理)

1、主要用于解析静态文本。并发性能高。侧重于HTTP服务;

2、支持静态页(HTML)。不支持动态请求如:CGI、Servlet/JSP、PHP、ASP等;3、具有很强的可扩展性。可以通过插件支持PHP。还可以单向Apache连接Tomcat实现连通;

4、Apache是世界使用排名第一的Web服务器。

Tomcat:是Java开发的一个符合JavaEE的Servlet规范的JSP服务器(Servlet容器)。是 Apache 的扩展。特性:免费的Java应用服务器

1、主要用于解析JSP/Servlet。侧重于Servlet引擎;

2、支持静态页。但效率没有Apache高;支持Servlet、JSP请求;

3、Tomcat本身也内置了一个HTTP服务器用于支持静态内容。可以通过Tomcat的配置管理工具实现与Apache整合。

Apache + Tomcat:两者整合后优点:如果请深圳市是静态网页则由Apache处理。并将结果返回;如果是动态请求。Apache会将解析工作转发给Tomcat处理。Tomcat处理后将结果通过Apache返回。这样可以达到分工合作。实现负载远衡。提高系统的性能。apache是web服务器。tomcat是应用(java)服务器。它只是一个servlet容器。可以认为是apache的扩展。但是可以独立于apache运行。独立于apache运行。换句话说。apache是一辆卡车。上面可以装一些东西如html等。但是不能装水。要装水必须要有容器(桶)。而这个桶也可以不放在卡车上。

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx。它的发音为“engine X”。是一个高性能的HTTP和反向代理服务器。同时也是一个IMAP/POP3/SMTP 代理服务器。

Nginx与Apache比较:

1)轻量级。同样起web 服务。比apache占用更少的内存及资源 ;

2)高并发。nginx 处理请求是异步非阻塞的。而apache 则是阻塞型的。在高并发下nginx 能保持低资源低消耗高性能 ;

3)高度模块化的设计。编写模块相对简单 ;

4)提供负载均衡;

5)apache是同步多进程模型。一个连接对应一个进程;nginx是异步的。多个连接(万级别)可以对应一个进程;

归纳起来。CDN具有以下主要功能:(1)节省骨干网带宽。减少带宽需求量;(2)提供服务器端加速。解决由于用户访问量大造成的服务器过载问题;(3)服务商能使用Web Cache技术在本地缓存用户访问过的Web页面和对象。实现相同对象的访问无须占用主干的出口带宽。并提高用户访问因特网页面的相应时间的需求; (4)能克服网站分布不均的问题。并且能降低网站自身建设和维护成本;(5)降低“通信风暴”的影响。提高网络访问的稳定性。

其他观点:

关注Web前端进阶指南。学习前端。体验科技产品带来的极致体验。分享最实用的科技小技巧。解答您的疑惑。

Web Server中文名称叫网页服务器或web服务器。WEB服务器也称为WWW(WORLD WIDE WEB)服务器。主要功能是提供网上信息浏览服务IIS

IIS是微软公司的Web服务器。主要支持ASP语言环境。对于中小企业来说建立自己的网站。对外展示自己的页面是最平常不过的事情了。目前最流行的建立WWW服务工具就要属Apache与IIS了。IIS只能在微软公司的windows操作系统下使用。离开了windows他将一事无成。无法移植到其他类型的操作系统中。

Tomcat

java里面一个web容器。就是一个http请求来了。它帮你接受。可能再对请求做些处理。然后拉起你controller的代码。把请求传进去。最后当controller处理结束后。再把请求简单处理一下返回给请求者。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。属于轻量级应用服务器。在中小型系统和并发访问用户不是很多的场合下被普遍使用。是开发和调试JSP 程序的首选。对于一个初学者来说。可以这样认为。当在一台机器上配置好Apache 服务器。可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展。但它是独立运行的。所以当你运行tomcat 时。它实际上作为一个与Apache 独立的进程单独运行的。

CDN

中文叫内容分发网络。都是云服务商在运营。它可以让你的用户在访问资源的时候就近访问。提高静态资源的访问速度。

这些都是不同的东西。不过都是概念上的。功能上有一定的重叠。不过在使用中基本都是不同的东西。

一般生产上iis。nginx。apache都是当反向代理用。少数情况会当静态文件服务器用。tomcat。无论何时都是web容器。cdn一般只在生产上用。主要是提供静态文件服务。

至于他们的实现。理论上讲用什么语言否没问题。不管是java node还是啥的。不过有现成的。应该没人会造新的。

Apache

Apache是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页. 但asp,php,cgi,jsp等动态网页的就不行. 如果要在APACHE环境下运行jsp 的话就需要一个解释器来执行jsp网页, 而这个jsp解释器就是TOMCAT, 为什么还要JDK呢?因为jsp需要连接数据库的话就要jdk来提供连接数据库的驱程。所以要运行jsp的web服务器平台就需要APACHE+TOMCAT+JDK 整合的好处是:如果客户端请求的是静态页面。则只需要Apache服务器响应请求如果客户端请求动态页面。则是Tomcat服务器响应请求因为jsp是服务器端解释代码的。这样整合就可以减少Tomcat的服务开销。

apache是web服务器。tomcat是应用(java)服务器。它只是一个servlet(jsp也翻译成servlet)容器。可以认为是apache的扩展。

Apache:普通服务器。本身只支持html即普通网页,它是html容器。功能像IIS一样

tomcat:解释java程序(jsp,serverlet)。它是是jsp/servlet容器。用于发布JSP及JAVA的

apache是一辆卡车。上面可以装一些东西如html等。但是不能装水。要装水必须要有容器(桶)。tomcat就是一个桶(装像JAVA这样的水)。而这个桶也可以不放在卡车上。

诀窍是。当配置正确时。Apache 为HTML页面服务。而Tomcat 实际上运行JSP 页面和Servlet。另外。Tomcat和IIS等Web服务器一样。具有处理HTML页面的功能。另外它还是一个Servlet和JSP容器。独立的Servlet容器是Tomcat的默认模式。不过。Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0。

Nginx

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx。它的发音为“engine X”。是一个高性能的HTTP和反向代理服务器。同时也是一个IMAP/POP3/SMTP 代理服务器。

nginx相对于apache的优点

轻量级。同样起web 服务。比apache占用更少的内存及资源

抗并发。nginx 处理请求是异步非阻塞的。而apache 则是阻塞型的。在高并发下nginx 能保持低资源低消耗高性能

高度模块化的设计。编写模块相对简单

提供负载均衡

社区活跃。各种高性能模块出品迅速

总结

Nginx优点:负载均衡、反向代理、处理静态文件优势。nginx处理静态请求的速度高于Apache优点:相对于Tomcat服务器来说处理静态文件是它的优势。速度快。Apache是静态解析。适合静态HTML、图片等。

Tomcat:动态解析容器。处理动态请求。是编译JSP\Servlet的容器。Nginx有动态分离机制。静态请求直接就可以通过Nginx处理。动态请求才转发请求到后台交由Tomcat进行处理。

Apache在处理动态有优势。Nginx并发性比较好。CPU内存占用低。如果rewrite频繁。那还是Apache较适合。

反向代理的理解:

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求。然后将请求转发给内部网络上的服务器。

并将从服务器上得到的结果返回给internet上请求连接的客户端。此时代理服务器对外就表现为一个服务器。

其他观点:

您的提问。有我回答。我是IT屠工!

IIS

IIS是互联网信息服务。是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。

IIS是一种Web(网页)服务组件。其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器。分别用于网页浏览、文件传输、新闻服务和邮件发送等方面。它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。

IIS是企业识别体系重要的有机组成部分。是互联网时代企业必须关注的并进行有效管理的领域。是企业在互联网上的名片。能让企业更好的拥抱互联网时代。

IIS的功能

IIS是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS支持一些有趣的东西。像有编辑环境的界面(FRONTPAGE)、有全文检索功能的(INDEX SERVER)、有多媒体功能的(NET SHOW)。

其次,IIS是随Windows NT Server 4.0一起提供的文件和应用程序服务器。是在Windows NT Server上建立Internet服务器的基本组件。它与Windows NT Server完全集成。允许使用Windows NT Server内置的安全性以及NTFS文件系统建立强大灵活的Internet/Intranet站点。

Apache

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器。可以在大多数计算机操作系统中运行。由于其多平台和安全性被广泛使用。是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展。将Perl/Python等解释器编译到服务器中。

Apache HTTP服务器是一个模块化的服务器。源于NCSAhttpd服务器。经过多次修改。成为世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。

Apacheweb服务器软件主要功能:

1.支持最新的HTTP/1.1通信协议

2.拥有简单而强有力的基于文件的配置过程

3.支持通用网关接口

4.支持基于IP和基于域名的虚拟主机

5.支持多种方式的HTTP认证

6.集成Perl处理模块

7.集成代理服务器模块

8.支持实时监视服务器状态和定制服务器日志

9.支持服务器端包含指令(SSI)

10.支持安全Socket层(SSL)

11.提供用户会话过程的跟踪

12.支持FastCGI

13.通过第三方模块可以支持JavaServlets

Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目。由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持。最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定。而且免费。因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可。成为目前比较流行的Web 应用服务器。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器。属于轻量级应用服务器。在中小型系统和并发访问用户不是很多的场合下被普遍使用。是开发和调试JSP 程序的首选。对于一个初学者来说。可以这样认为。当在一台机器上配置好Apache 服务器。可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展。但运行时它是独立运行的。所以当你运行tomcat 时。它实际上作为一个与Apache 独立的进程单独运行的。

当配置正确时。Apache 为HTML页面服务。而Tomcat 实际上运行JSP 页面和Servlet。另外。Tomcat和IIS等Web服务器一样。具有处理HTML页面的功能。另外它还是一个Servlet和JSP容器。独立的Servlet容器是Tomcat的默认模式。不过。Tomcat处理静态HTML的能力不如Apache服务器。

Nginx

Nginx 是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器;同时也是一个 IMAP、POP3、SMTP 代理服务器。

Nginx 可以作为一个 HTTP 服务器进行网站的发布处理。另外 Nginx 可以作为反向代理进行负载均衡的实现。

Nginx 使用基于事件驱动架构。使得其可以支持数以百万级别的 TCP 连接。高度的模块化和自由软件许可证使得第三方模块层出不穷(这是个开源的时代啊)。Nginx 是一个跨平台服务器。可以运行在 Linux、Windows、FreeBSD、Solaris、AIX、Mac OS 等操作系统上。这些优秀的设计带来的极大的稳定性。

CDN

CDN的全称是Content Delivery Network。即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络。依靠部署在各地的边缘服务器。通过中心平台的负载均衡、内容分发、调度等功能模块。使用户就近获取所需内容。降低网络拥塞。提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

CDN网络中包含的功能实体包括内容缓存设备、内容交换机、内容路由器、CDN内容管理系统等组成。

CDN具有以下主要功能:

1.节省骨干网带宽。减少带宽需求量;

2.提供服务器端加速。解决由于用户访问量大造成的服务器过载问题;

3.服务商能使用Web Cache技术在本地缓存用户访问过的Web页面和对象。实现相同对象的访问无须占用主干的出口带宽。并提高用户访问因特网页面的相应时间的需求;

4.能克服网站分布不均的问题。并且能降低网站自身建设和维护成本;

5.降低“通信风暴”的影响。提高网络访问的稳定性。

以上是我的回答。希望可以帮助到您!

以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

第五代导演中谁的成就最高?

请用语音读文章热门回答:中国电影第五代导演是指八十年代从北京电影学院毕业的年轻导[&...

如何从电影《肖申克的救赎》中汲取生活的力量?

请用语音读文章热门回答:永不放弃。机会都是靠自己运筹和争取的。其他观点:其实[&he...

中国百富榜富豪你最崇拜哪个?为什么?

请用语音读文章热门回答:如果和他们认识。他们应该崇拜我!……其他观点:我不知[&he...

有什么好的网赚项目?

请用语音读文章热门回答:全民互联网时代有太多的赚钱方式了。比如做自媒体。植入广告[&...

发表评论

您的电子邮箱地址不会被公开。

评论(2)

  • 几度无言 永久VIP 2022年10月1日 02:08:23

    服务器,静态,是一个,容器,页面,都是,代理服务器,用户,互联网,动态

  • 公主抱 永久VIP 2022年10月1日 02:08:23

    没想到大家都对IIS、Apache、Tomcat、Nginx、CDN,它们之间有何区别?感兴趣,不过这这篇解答确实也是太好了

  • 长街听风 永久VIP 2022年10月1日 02:08:23

    一个学习的总结。或者说是汇总。有些链接给出的观点过时。已按照自己的理解经过修改编辑;web服务器Web服务器的基本功