1、兩者的功能不同:
當web服務器接收到一個請求,它只是簡單的將請求交給處理該請求的最優程序。除了為服務器程序簡單的提供一個運行環境之外,web服務器不提供任何功能。不同于web服務器主要發送用來展示在瀏覽器上的HTML頁面,app服務器為客戶端程序處理應用邏輯方面問題。
2、兩者提供的服務不同:
web服務器一般會提供諸如容錯機制,負載均衡、緩存、集群等。app服務器通過元件API,比如基于j2ee app服務器的EJB,來提供應用邏輯。而更多的情況下,app服務器自己管理自己的資源。這些責任(gate-keeping)包括安全、進程交互、資源池、消息分發等。
擴展資料:
WebServer:
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)經常被誤認為僅僅是應用程序服務器專有的特征。