1、web服务器和应用服务器的区别?
一、指代不同
1、web服务器:叫网页服务器或web服务器。WEB服务器也称为WWW(WORLD WIDE WEB)服务器,主要功能是提供网上信息浏览服务。
2、应用服务器:指通过各种协议把商业逻辑曝露给客户端的程序。
二、功能不同
1、web服务器:可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。
2、应用服务器:提供了访问商业逻辑的途径以供客户端应用程序使用。应用服务器使用此商业逻辑就像调用对象的一个方法一样。
三、特点不同
1、web服务器:传送(serves)页面使浏览器可以浏览。
2、应用服务器:应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。
2、常用的web服务器软件有哪些?
Apache是世界使用排名第一的Web服务器软件。
IIS是微软公司主推的服务器。
GFEGoogle的web服务器。
Nginx的HTTP服务器。
Lighttpd服务器。
Zeus是一个运行于Unix下的非常优秀的WebServer,据说性能超过Apache,是效率最高的WebServer之一。
祝好运,望采纳
3、WEB服务器与WEB服务器软件的区别是什么?
WEB服务器就是提供WEB服务的计算机,
WEB服务器软件安装在WEB服务器上提供版WEB服务的软件,当然也可以安装在普通电脑权上,WEB服务器软件有Apache、Tomcat 等
要知道提供WEB服务的是软件,硬件本身是不可能提供这些服务的
4、web服务器软件是干什么的?
1.连接过程就是Web服务器和其浏览器之间所建立起来的一种连接。
2.请求过程就是Web的浏览器运用socket这个文件向其服务器而提出各种请求。
3.应答过程就是运用HTTP协议把在请求过程中所提出来的请求传输到Web的服务器,进而实施务处理,然后运用HTTP协议把任务处理的结果传输到Web的浏览器,同时在Web的浏览器上面展示上述所请求之界面。
4.关闭连接就是当上一个步骤--应答过程完成以后,Web服务器和其浏览器之间断开连接之过程。
5、常用的web服务器软件有哪些?
1、ApacheApache是世界使用排名第一的Web服务器软件。
2、IIS是微软公司主推的服务器。
3、GFEGoogle的web服务器。
4、Nginx的HTTP服务器。
5、Lighttpd服务器。
6、Zeus是一个运行于Unix下的非常优秀的Web Server,据说性能超过Apache,是效率最高的Web Server之一。
7、(8)Resin提供了最快的jsp/servlets运行平台。
8、Jetty是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境。
9、BEA WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
10、Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。
6、常用的web服务器软件有哪些
1.IIS
IIS是英文Internet Information Server的缩写,译成中文就是"Internet信息服务"的意思。它是微软公司主推的服务器,最新的版本是Windows2008里面包含的IIS 7,IIS与Window Server完全集成在一起,因而用户能够利用Windows Server和NTFS(NT File System,NT的文件系统)内置的安全特性,建立强大,灵活而安全的Internet和Intranet站点。
2.ApacheApache
ApacheApache在世界上的排名是第一的,它可以运行在几乎所有广泛使用的计算机平台上。Apache源于NCSAhttpd服务器,经过多次修改,不仅简单、速度快、而且性能稳定,还可以用来做代理服务器。
3.Nginx
Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
4.Zeus
Zeus是一个运行于Unix下的非常优秀的Web Server,据说性能超过Apache,是效率最高的Web Server之一。
5.Sun
Sun的Java系统Web服务器也就是以前的Sun ONE Web Server。主要出现在那些运行Sun的Solaris操作系统的关键任务级Web服务器上。它最新的版本号是6.1,可以支持x86版本Solaris,Red Hat Linux,HP-UX 11i, IBM AIX,甚至可以支持Windows,但它的大多数用户都选择了SPARC版本的Solaris操作系统。
7、常用的web服务器软件有哪些
根据 Netcraft 最近的调查,虽然存在很多不同的 Web 服务器,但是其中两种 Web 服务器就占据了 90% 的份额,这两种 Web 服务器是 Apache和 Internet Information Server(IIS)。 但是,是不是就没有其他的呢?如果你要了解一个web服务器是怎么运行的。至少它是怎么可以同时服务成千上万的用户的,这个问题,可能是很多网络服务器编程都要面对的问题。那么他们的源代码呢? 很显然IIS是不可能有源代码的,不然微软早就game over了。但是你会说Apache是开源的,是的,它是开源的,但是我觉得等你搞明白了apache的时候,也许是半年之后的事情了,并且你可能会觉得,哦,天啊,原来它是这么糟糕。 所以,如果你希望了解web服务器的工作原理,就需要那些剩下的10%-轻量级web服务器了,当然了,他们一般都是开源的,并且大部分是使用c和perl写的,还有的是java、php等,也有一些“不著名”的语言。 它们比 Apache 小得多。如此小的应用程序可以直接记住,系统地、严密地加以考虑,以证明它们的安全性或可伸缩性。小型 Web 服务器包括: Cheetah Server,用不到一千行的 C 代码编写而成。 DustMote,一个非常 小的 Web 服务器,用一个大约 3000 字节的 Tcl 源文件实现。 fnord,大小取决于平台和配置,不超过 20K。虽然很小,但是它支持虚拟主机、CGI和 keep-alive。 ihttpd,使用不到 800 行的 C 代码,包括 CGI,并通过 inetd提供页面。 im-httpd,非常小的服务器 —— 只有大约 7 KB,链接到 glibc。而且它也非常快。 mattows,支持 CGI,只有 600 行 C 代码。 Scrinchy,虽然很小,不到 30KB,但是支持多种脚本编制语言,包括一种特殊用途的、基于栈的 Sy 脚本语言。 ZWS 演示了一个即使是使用 500 多行带足够注释的 zsh (!) 编写的应用程序 —— 在这里是一个 HTTP 0.9+ 服务器 —— 也可以有多强大。 体积小并不妨碍这些服务器被正式使用。例如,fnord 可以处理数千个同时进行的连接。 也许轻量级作为一个类别最令人印象深刻的成就是高性能服务器: cghttpd 是一个小型 Web 服务器,它被理解为使用 2.6 系列内核中可用的异步功能的一个试验品。 darkhttpd 是一个快速的、单线程的 HTTP/1.1 服务器。 Gatling 是为高性能设计的。它的特性包括 FTP、IPv6、虚拟主机、CGI 等。 Kernux 是一个 Linux内核模块,它实现了一个 HTTP 守护进程。 lighttpd 是使用率排名第五的 Web 服务器(排名还在上升)。它为很多同时进行的连接进行了优化:“典型的场景是使用 lighttpd 作为一个下载(off-load)服务器,以提供静态内容……” LiteSpeed Web Server 是一款轻量级商业 Web 服务器,强调性能和安全性。LiteSpeed Technologies 公司宣传为静态内容提速了 6 倍,在解释页面方面也有一定的提高。
Miniature JWS,也称 tjws,它是基于 Java 的 Web 服务器,可以处理servlet、JSP和数千个并发连接,而大小只有 77 KB。它的作者声称它 “比 Apache 2.x 快 10%”。 Yaws 是用 Erlang 编写的一款高性能 HTTP/1.1 服务器。 有些 Web 服务器被实现为类或库,以便嵌入到较大的应用程序中。 在这些 Web 服务器当中,我发现特别有趣的有: EHS —— “嵌入式HTTP 服务器”,被设计为一个 C++类,用于嵌入到较大的 C++ 应用程序;还有 Embedded TCL Web Server,它是一个很普通的 Web 服务器,支持 SSL和 Basic Authentication,速度非常快 —— 其作者使它至少与 lighthttpd 和 AOLserver 一样快。它是用不到 100 行 Tcl 编写的。 Python 是几种适合不寻常环境的 Web 服务器的实现语言,这些 Web 服务器包括: cdServer 是一个小型的、用 Python 编写的 HTTP 服务器,它“被设计用来提供来自 CD-ROM 的(静态)内容” 。它在提供动态内容方面能力有限。我们有几个涉及不受影响的“live CDs” 的项目,在这些项目中像 cdServer 之类的工具很关键。 edna,一款智能的用 Python 编写的 MP3 服务器,它是用 HTTP 实现的。
还有其他一些用 Perl 和其他不出名的语言编写的轻量级 Web 服务器: Camlserv,用 ocaml 编写的一个完整的 Web 服务器,目标是 “高度交互式的 Web 页面”。它由几千行 ocaml 编写而成,其中大部分代码都与 MySQL和 HTML 的特殊处理有关。 dhttpd 用和 Apache 相同的格式记录访问。它支持 CGI,并具有内建的 Perl 解释器、虚拟主机、IPv6、带宽管理和安全性等方面的特性。 DNHTTPD 是用 Perl 编写的,用于 UNIX。它支持虚拟主机、SSL 连接、CGI 等。 Jellybean 是用 Perl 编写的基于 HTTP 的 Perl Object Server。 lns.http 是一个 Common LISP HTTP/1.1 Web 框架。 Mongrel 是用 Ruby编写的、用于 HTTP 的一个库和服务器。 Nanoweb 是用 PHP编写的一款快速、健壮的 Web 服务器。它宣称具有丰富的特性,包括完全遵从 HTTP/1.1、访问控制、身份验证、虚拟主机、SSL 兼容性等。 Naridesh 是用 Perl 编写的 Web 服务器。 OpenAngel 是用 Perl 编写的。它强调的重点是安全性。 Xavante 是用 Lua 编写的 HTTP/1.1 Web 服务器。 XSP 是用 C# 编写的,用于运行 ASP.NET。
有时候您可能需要其他一些用 C 编写的、具有不常见的次要优势的轻量级 Web 服务器: ABYSS 可以在 UNIX 和 Win32 之间移植,其 “目的是成为完全遵从 HTTP/1.1 的 Web 服务器”。它占用的内存很少。 Anti-Web HTTPD(也称 “Anti-Web”、“awhttpd” 和 “AW”)是一款单进程、无线程、支持 CGI 的服务器,它强调安全性和简单性。 MHTTPD 支持从外部文件或 LDAP 服务器进行的 MHTTPD Basic Authentication。 mini-httpd 可以在一个系统线程中处理多个并发请求,但是在主机上占用的内存或 CPU很少。 Naken Web 类似于很多其他的轻量级服务器 —— 它支持 Basic Authentication、静态内容等 —— 但是它的作者将它设计为用于 Webcam 操作,并且在 Gumstix、WRT54GL、OpenWrt 和其他新的平台上运行。
Null httpd 是一款多线程的、简单的、可移植的 Web 服务器。 Seminole 是一款商业 Web 服务器,内存需求较小,功能较多。 thttpd throttle,支持 chroot、Basic Authentication 等。 Web 服务器远远不止是 Apache和 IIS 的天下。您可以发现很多其他的 Web 服务器,它们很小,易于理解,但是又足够快,可以被正式使用。这样的 Web 服务器可以很好地加快您的下一个项目。
8、web服务器软件是干什么用的
通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。
下面让我们来细细道来:
Web服务器(Web Server)
Web服务器可以解析(handles)HTTP协议。当Web服务器接收到一个HTTP请求(request),会返回一个HTTP响应(response),例如送回一个HTML页面。为了处理一个请求(request),Web服务器可以响应(response)一个静态页面或图片,进行页面跳转(redirect),或者把动态响应(dynamic response)的产生委托(delegate)给一些其它的程序例如CGI脚本,JSP(JavaServer Pages)脚本,servlets,ASP(Active Server Pages)脚本,服务器端(server-side)JavaScript,或者一些其它的服务器端(server-side)技术。无论它们(译者注:脚本)的目的如何,这些服务器端(server-side)的程序通常产生一个HTML的响应(response)来让浏览器可以浏览。
要知道,Web服务器的代理模型(delegation model)非常简单。当一个请求(request)被送到Web服务器里来时,它只单纯的把请求(request)传递给可以很好的处理请求(request)的程序(译者注:服务器端脚本)。Web服务器仅仅提供一个可以执行服务器端(server-side)程序和返回(程序所产生的)响应(response)的环境,而不会超出职能范围。服务器端(server-side)程序通常具有事务处理(transaction processing),数据库连接(database connectivity)和消息(messaging)等功能。
虽然Web服务器不支持事务处理或数据库连接池,但它可以配置(employ)各种策略(strategies)来实现容错性(fault tolerance)和可扩展性(scalability),例如负载平衡(load balancing),缓冲(caching)。集群特征(clustering—features)经常被误认为仅仅是应用程序服务器专有的特征。
应用程序服务器(The Application Server)
根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给(expose)客户端应用程序。Web服务器主要是处理向浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就象你调用对象的一个方法(或过程语言中的一个函数)一样。
应用程序服务器的客户端(包含有图形用户界面(GUI)的)可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭(traveling)的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑(program logic)。 正是由于这种逻辑取得了(takes)数据和方法调用(calls)的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。
在大多数情形下,应用程序服务器是通过组件(component)的应用程序接口(API)把商业逻辑暴露(expose)(给客户端应用程序)的,例如基于J2EE(Java 2 Platform, Enterprise Edition)应用程序服务器的EJB(Enterprise JavaBean)组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作(gate-keeping ties)包括安全(security),事务处理(transaction processing),资源池(resource pooling), 和消息(messaging)。就象Web服务器一样,应用程序服务器配置了多种可扩展(scalability)和容错(fault tolerance)技术。
一个例子
例如,设想一个在线商店(网站)提供实时定价(real-time pricing)和有效性(availability)信息。这个站点(site)很可能会提供一个表单(form)让你来选择产品。当你提交查询(query)后,网站会进行查找(lookup)并把结果内嵌在HTML页面中返回。网站可以有很多种方式来实现这种功能。我要介绍一个不使用应用程序服务器的情景和一个使用应用程序服务器的情景。观察一下这两中情景的不同会有助于你了解应用程序服务器的功能。
情景1:不带应用程序服务器的Web服务器
在此种情景下,一个Web服务器独立提供在线商店的功能。Web服务器获得你的请求(request),然后发送给服务器端(server-side)可以处理请求(request)的程序。此程序从数据库或文本文件(flat file,译者注:flat file是指没有特殊格式的非二进制的文件,如properties和XML文件等)中查找定价信息。一旦找到,服务器端(server-side)程序把结果信息表示成(formulate)HTML形式,最后Web服务器把会它发送到你的Web浏览器。
简而言之,Web服务器只是简单的通过响应(response)HTML页面来处理HTTP请求(request)。
情景2:带应用程序服务器的Web服务器
情景2和情景1相同的是Web服务器还是把响应(response)的产生委托(delegates)给脚本(译者注:服务器端(server-side)程序)。然而,你可以把查找定价的商业逻辑(business logic)放到应用程序服务器上。由于这种变化,此脚本只是简单的调用应用程序服务器的查找服务(lookup service),而不是已经知道如何查找数据然后表示为(formulate)一个响应(response)。 这时当该脚本程序产生HTML响应(response)时就可以使用该服务的返回结果了。
在此情景中,应用程序服务器提供(serves)了用于查询产品的定价信息的商业逻辑。(服务器的)这种功能(functionality)没有指出有关显示和客户端如何使用此信息的细节,相反客户端和应用程序服务器只是来回传送数据。当有客户端调用应用程序服务器的查找服务(lookup service)时,此服务只是简单的查找并返回结果给客户端。
通过从响应产生(response-generating)HTML的代码中分离出来,在应用程序之中该定价(查找)逻辑的可重用性更强了。其他的客户端,例如收款机,也可以调用同样的服务(service)来作为一个店员给客户结帐。相反,在情景1中的定价查找服务是不可重用的因为信息内嵌在HTML页中了。
总而言之,在情景2的模型中,在Web服务器通过回应HTML页面来处理HTTP请求(request),而应用程序服务器则是通过处理定价和有效性(availability)请求(request)来提供应用程序逻辑的。
警告(Caveats)
现在,XML Web Services已经使应用程序服务器和Web服务器的界线混淆了。通过传送一个XML有效载荷(payload)给服务器,Web服务器现在可以处理数据和响应(response)的能力与以前的应用程序服务器同样多了。
另外,现在大多数应用程序服务器也包含了Web服务器,这就意味着可以把Web服务器当作是应用程序服务器的一个子集(subset)。虽然应用程序服务器包含了Web服务器的功能,但是开发者很少把应用程序服务器部署(deploy)成这种功能(capacity)(译者注:这种功能是指既有应用程序服务器的功能又有Web服务器的功能)。相反,如果需要,他们通常会把Web服务器独立配置,和应用程序服务器一前一后。这种功能的分离有助于提高性能(简单的Web请求(request)就不会影响应用程序服务器了),分开配置(专门的Web服务器,集群(clustering)等等),而且给最佳产品的选取留有余地。
参考资料:http://www.javaworld.com/javaqa/2002-08/01-qa-0823-appvswebserver.html