热门回答:
一个学习的总结。或者说是汇总。有些链接给出的观点过时。已按照自己的理解经过修改编辑;
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.降低“通信风暴”的影响。提高网络访问的稳定性。
以上是我的回答。希望可以帮助到您!
以上就是由优质生活领域创作者 生活常识网 整理编辑的,如果觉得有帮助欢迎收藏转发~
本文地址:http://www.shenzhoubaby.com/155194.html,转载请说明来源于:生活常识网
声明:本站部分文章来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系@qq.com进行处理。分享目的仅供大家学习与参考,不代表本站立场。
评论(2)
服务器,静态,是一个,容器,页面,都是,代理服务器,用户,互联网,动态
没想到大家都对IIS、Apache、Tomcat、Nginx、CDN,它们之间有何区别?感兴趣,不过这这篇解答确实也是太好了
一个学习的总结。或者说是汇总。有些链接给出的观点过时。已按照自己的理解经过修改编辑;web服务器Web服务器的基本功