Web服務器傳送(serves)頁面使瀏覽器可以瀏覽,Web服務器專門處理HTTP請求(request)。
APP服務器提供的是客戶端應用程序可以調用(call)的方法(methods),是通過很多協(xié)議來為應用程序提供(serves)商業(yè)邏輯(business logic)。
一、Web服務器
Web服務器可以解析(handles)HTTP協(xié)議。當Web服務器接收到一個HTTP請求(request),會返回一個HTTP響應(response),例如送回一個HTML頁面。為了處理一個請求(request),Web服務器可以響應(response)一個靜態(tài)頁面或圖片,進行頁面跳轉(redirect),或者把動態(tài)響應(dynamic response)的產(chǎn)生委托(delegate)給一些其它的程序例如CGI腳本,JSP(JavaServer Pages)腳本,servlets,ASP(Active Server Pages)腳本,服務器端(server-side)JavaScript,或者一些其它的服務器端(server-side)技術。無論它們(譯者注:腳本)的目的如何,這些服務器端(server-side)的程序通常產(chǎn)生一個HTML的響應(response)來讓瀏覽器可以瀏覽。
要知道,Web服務器的代理模型(delegation model)非常簡單。當一個請求(request)被送到Web服務器里來時,它只單純的把請求(request)傳遞給可以很好的處理請求(request)的程序(譯者注:服務器端腳本)。Web服務器僅僅提供一個可以執(zhí)行服務器端(server-side)程序和返回(程序所產(chǎn)生的)響應(response)的環(huán)境,而不會超出職能范圍。服務器端(server-side)程序通常具有事務處理(transaction processing),數(shù)據(jù)庫連接(database connectivity)和消息(messaging)等功能。
雖然Web服務器不支持事務處理或數(shù)據(jù)庫連接池,但它可以配置(employ)各種策略(strategies)來實現(xiàn)容錯性(fault tolerance)和可擴展性(scalability),例如負載平衡(load balancing),緩沖(caching)。集群特征(clustering—features)經(jīng)常被誤認為僅僅是應用程序服務器專有的特征。
二、APP服務器
根據(jù)我們的定義,作為應用程序服務器,它通過各種協(xié)議,可以包括HTTP,把商業(yè)邏輯暴露給(expose)客戶端應用程序。Web服務器主要是處理向瀏覽器發(fā)送HTML以供瀏覽,而應用程序服務器提供訪問商業(yè)邏輯的途徑以供客戶端應用程序使用。應用程序使用此商業(yè)邏輯就象你調用對象的一個方法(或過程語言中的一個函數(shù))一樣。
應用程序服務器的客戶端(包含有圖形用戶界面(GUI)的)可能會運行在一臺PC、一個Web服務器或者甚至是其它的應用程序服務器上。在應用程序服務器與其客戶端之間來回穿梭(traveling)的信息不僅僅局限于簡單的顯示標記。相反,這種信息就是程序邏輯(program logic)。 正是由于這種邏輯取得了(takes)數(shù)據(jù)和方法調用(calls)的形式而不是靜態(tài)HTML,所以客戶端才可以隨心所欲的使用這種被暴露的商業(yè)邏輯。
在大多數(shù)情形下,應用程序服務器是通過組件(component)的應用程序接口(API)把商業(yè)邏輯暴露(expose)(給客戶端應用程序)的,例如基于J2EE(Java 2 Platform, Enterprise Edition)應用程序服務器的EJB(Enterprise JavaBean)組件模型。此外,應用程序服務器可以管理自己的資源,例如看大門的工作(gate-keeping duties)包括安全(security),事務處理(transaction processing),資源池(resource pooling), 和消息(messaging)。就象Web服務器一樣,應用程序服務器配置了多種可擴展(scalability)和容錯(fault tolerance)技術。
如今,WEB服務器也可以通過傳送XML有效載荷(payload)給服務器,具有處理數(shù)據(jù)和響應(response)的能力,APP服務器服務器在一定程度上也包含有WEB服務器功能。
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!