A. 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)。
B. 容器、應用伺服器和web伺服器有什麼區別
應用伺服器和web伺服器的區別
首先我們應該對應用伺服器和web伺服器有一個清晰的概念。所謂的應用伺服器,就是提供應用的伺服器,這里的應用有很多,比如java應用,ruby 應用,或者 c#應用。
那麼什麼是web伺服器呢?就是提供了web功能的伺服器,主要就是http服務,包括圖片的下載,等等一系列和web相關的。
好吧,你會問為什麼我們不能直接使用應用伺服器呢?應用伺服器也提供了http服務,比如tomcat。
那麼我們從實際出發。當你瀏覽一個網頁的時候,什麼情況下你會覺得速度很慢?我們僅僅考慮頁面本身。那當然是圖片越多顯示得越慢。
好吧,我們至少認識到一點,一些靜態資源,例如圖片,會嚴重影響頁面打開的速度。當然,這僅僅是一個方面。
那麼web伺服器有什麼用呢?web伺服器一個優點就是在處理靜態信息上。例如一些靜態的html,圖片,等等其他靜態的東西
C. 文件伺服器,web伺服器,資料庫伺服器,應用程序伺服器,是怎麼樣的,能否簡單介紹一下
文件伺服器一般都是存文件的
web伺服器一般是放系統的,例如ERP系統,wms系統,也可以放企業門戶網站
資料庫伺服器就是資料庫伺服器了,目前市面上國內使用較多的三大資料庫分別是sqlserver,Oracle,MySQL
應用伺服器就是給應用程序做一個服務端,例如web伺服器也屬於應用伺服器的一種,因為應用除了web應用還有c/s架構的應用。
D. web伺服器和應用伺服器有什麼不同
簡而言之,應用伺服器處理業務邏輯,web伺服器則主要是讓客戶可以通過瀏覽器進行訪問,處理HTML文件,web伺服器通常比應用伺服器簡單。
WEB伺服器:Apache、IIS、Nginx(也是反向代理伺服器)
應用伺服器:Tomcat、Weblogic、Jboss。
E. Web伺服器和應用程序伺服器的區別_常用的web應用伺服器有哪些
Web伺服器的基本功能就是提供Web信息瀏覽服務。它只需支持HTTP協議、HTML文檔格式及URL。與客戶端的網路瀏覽器配合。因為Web伺服器主伍頌搏要支持的協議就是HTTP,所以通常情況下HTTP伺服器和WEB伺服器是相等的(有沒有支持除HTTP之外的協議的web伺服器,作者沒有考證過),說的是一回事。
應用程序伺服器(簡稱應用伺服器),我們先看一下微軟對它的定義:"我們把應用程序伺服器定義為「作為伺服器執行共享業務應用程序的底層的系統軟體」。就像文件伺服器為很多用戶提供文件一樣,應用程序伺服器讓多個用戶可以同時使用應用程序(通常是客戶創建的應用程序)"
通俗的講,Web伺服器傳送(serves)頁面使瀏覽器可以瀏覽,然而應用程序伺服器提供的是客戶端應用程序可以調用(call)的方法(methods)。確切一點,你可以說:Web伺服器專門處理HTTP請求(request),但是應用程序伺服器是通過很多協議來為應用程序提供(serves)商業邏輯(businesslogic)。
以JavaEE為例,Web伺服器主要是處理靜態頁面處理和作為Servlet容器,解釋和執行servlet/JSP,而應用伺服器是運行業務邏輯的,主要是EJB、JNDI和JMXAPI等櫻好J2EEAPI方面的,還包含事務處理、資料庫連接等功能,所以在企業級應用中,應用伺服器提供的功能比WEB伺服器強大的多。
以這樣的定義,IIS、Apache、Tomcat都可以屬於Web伺服器,Weblogic、WebSphere都屬於應用伺服器。
Apache:在Web伺服器中,Apache是純粹的Web伺服器,經常與Tomcat配對使用。它對HTML頁面具有強大的解釋能力,但是不能解釋嵌入頁面內的伺服器端腳本代碼(JSP/Servlet。
Tomcat:早期的Tomcat是一個嵌入Apache內的JSP/Servlet解釋引擎ApacheTomcat就相當腔祥於IISASP。後來的Tomcat已不再嵌入Apache內,Tomcat進程獨立於Apache進程運行。而且,Tomcat已經是一個獨立的Servlet和JSP容器,業務邏輯層代碼和界面交互層代碼可以分離了。因此,有人把Tomcat叫做輕量級應用伺服器。
IIS:微軟早期的IIS,就是一個純粹的Web伺服器。後來,它嵌入了ASP引擎,可以解釋VBScript和JScript伺服器端代碼了,這時,它就可以兼作應用伺服器。當然,它與J2EE應用伺服器根本無法相比,但是,從功能上說,從原理上說,它勉強可以稱之為應用伺服器。確切地說,它是兼有一點應用伺服器功能的Web伺服器。
綜上:Apache是純粹的web伺服器,而Tomcat和IIS因為具有了解釋執行伺服器端代碼的能力,可以稱作為輕量級應用伺服器或帶有伺服器功能的Web伺服器。
F. 應用伺服器與WEB SERVER的區別
應用伺服器:Weblogic、Tomcat、Jboss;
WEB SERVER:IIS、 Apache
通俗的講,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)等等),而且給最佳產品的選取留有餘地。