目前国产Web服务器和应用服务器的区别?符合JEE标准的有哪几个?

目前国产Web服务器和应用服务器的区别?符合JEE标准的有哪几个?,第1张

Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服务器是相等的。

通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑 (business logic)。

以Java EE为例,Web服务器主要是处理静态页面处理和作为 Servlet容器,解释和执行servlet/JSP,而应用服务器是运行业务逻辑的,主要是EJB、 JNDI和JMX API等J2EE API方面的,还包含事务处理、数据库连接等功能,所以在企业级应用中,应用服务器提供的功能比WEB服务器强大的多。

以这样的定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。

Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载。目前最主流的三个Web服务器是Apache Nginx IIS。

Web服务器是可以向发出请求的浏览器提供文档的程序。

1、服务器是一种被动程序:只有当Internet上运行在其他计算机中的浏览器发出请求时,服务器才会响应。

2 、最常用的Web服务器是Apache和Microsoft的Internet信息服务器(Internet Information Services,IIS)。

3、Internet上的服务器也称为Web服务器,是一台在Internet上具有独立IP地址的计算机,可以向Internet上的客户机提供WWW、Email和FTP等各种Internet服务。

4、Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。

Web服务器不仅能够存储信息,还能在用户通过Web浏览器提供的信息的基础上运行脚本和程序。

浏览器与web服务器之间使用的传输协议不包括HTTP。

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。

它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。

HTTP是基于B/S架构进行通信的,而HTTP的服务器端实现程序有httpd、nginx等,其客户端的实现程序主要是Web浏览器,例如Firefox、Internet Explorer、Google Chrome、Safari、Opera等,此外,客户端的命令行工具还有elink、curl等。

应用的场景:

HTTP诞生之初主要是应用于WEB端内容获取,那时候内容还不像现在这样丰富,排版也没那么精美,用户交互的场景几乎没有。对于这种简单的获取网页内容的场景,HTTP表现得还算不错。

但随着互联网的发展和WEB20的诞生,更多的内容开始被展示(更多的文件),排版变得更精美(更多的CSS),更复杂的交互也被引入(更多的JS)。用户打开一个网站首页所加载的数据总量和请求的个数也在不断增加。

今天绝大部分的门户网站首页大小都会超过2M,请求数量可以多达100个。另一个广泛的应用是在移动互联网的客户端app,不同性质的app对HTTP的使用差异很大。对于电商类app,加载首页的请求也可能多达10多个。对于微信这类IM,HTTP请求可能仅限于语音和文件的下载,请求出现的频率并不算高。

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

web服务器

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

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

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

IIS 是微软开发的web服务器,需要收费,主要用来跑 aspnet 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是异步的,多个连接(万级别)可以对应一个进程;

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最新版本为90。

Nginx

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

nginx相对于apache的优点

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

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

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

提供负载均衡

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

总结

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

Tomcat:动态解析容器,处理动态请求,是编译JSPServlet的容器,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是一个World Wide Web server。Gopher server和FTP server全部包容在里面。 IIS支持一些有趣的东西,像有编辑环境的界面(FRONTPAGE)、有全文检索功能的(INDEX SERVER)、有多媒体功能的(NET SHOW)。

其次,IIS是随Windows NT Server 40一起提供的文件和应用程序服务器,是在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/11通信协议

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 可以作为反向代理进行负载均衡的实现。

CDN

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

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

CDN具有以下主要功能:

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

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

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

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

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

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

iis apache nginx属于一类,都是web服务,本身提供静态文件访问功能,同时又可以通过扩展接入其他语言的解析。tomcat是针对java类的web服务容器。可以这样理解iis apache nginx是阿里,tomcat是京东。而cdn只是一种服务的统称,用到的web服务器则可能不同,有用nginx实现cdn的,也有自研的。

这类再简单介绍一下,iis主要针对微软系的语言。当然也支持php等。但是主要用于微软系。

apache主要以扩展方式运行,比如php,如果想在apache里运行,你得给apache写个扩展,这样才可以跑php,也就是耦合度比较高。

nginx以性能闻名。运行web主要靠反向代理和协议。这样其他语言只需要按照协议通讯即可无需开发nginx扩展。耦合度低。

http是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议。

用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。

HTTP协议的主要特点可概括如下:

1、支持客户/服务器模式。

2、 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。

3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。

4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。

另一方面,在服务器不需要先前信息时它的应答就较快。

HTTP请求的方法:

HTTP/11协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式

1、OPTIONS

返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘’的请求来测试服务器的功能性

2、HEAD

向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。

3、GET

向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。

4、POST

向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form

5、PUT

向指定资源位置上传其最新内容

6、DELETE

请求服务器删除Request-URL所标识的资源

7、TRACE

回显服务器收到的请求,主要用于测试或诊断

8、CONNECT

HTTP/11协议中预留给能够将连接改为管道方式的代理服务器。

1、应用服务器提供的功能比WEB服务器强大的多。以这样的定义,IIS、Apache、Tomcat都可以属于Web服务器,Weblogic、WebSphere都属于应用服务器。Apache:在Web服务器中,Apache是纯粹的Web服务器,经常与Tomcat配对使用。

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

3、首先,web服务器专门处理web服务请求,也就是HTTP协议的80端口或者是8080端口的数据处理以及交互等。应用服务器:FTP服务器就是提供文件存储等,是通过21端口提供文件服务器的功能。

4、应用服务器和web服务器的区别首先我们应该对应用服务器和web服务器有一个清晰的概念。所谓的应用服务器,就是提供应用的服务器,这里的应用有很多,比如java应用,ruby应用,或者c#应用。

5、处理问题不同Web服务器处理HTTP请求,而app服务器基于多种不同的协议,处理应用程序的逻辑问题功能不同当web服务器接收到一个请求,它只是简单的将请求交给处理该请求的最优程序。

6、综上所述,硬件服务器、应用服务器、Web服务器都是重要的服务器类型,它们各自有不同的功能和特点。硬件服务器主要提供硬件资源管理和存储服务,应用服务器提供应用程序支持和管理服务,Web服务器则主要负责Web服务和HTTP通信。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 目前国产Web服务器和应用服务器的区别?符合JEE标准的有哪几个?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情