2010-01-02 171 views

回答

6

A'網絡服務器'通常是使用http(或https)協議服務內容的任何服務器程序。這些服務器傾向於偵聽特定端口(80或443)。這些客戶端通常是網頁瀏覽器,例如Chrome,Firefox或Internet Explorer。 Web服務器的

例子:阿帕奇,微軟的IIS

應用服務器」是一個更爲模糊,不夠明確的術語。它可以指代針對給定應用的客戶請求提供響應的任何程序。

在Web服務環境中,「應用程序服務器」傾向於指用於生成動態內容的更高級別的框架。這可能是某種容器,您可以在其中部署特定的「Web應用程序」。例子包括Apache Tomcat,WebSphere,JBoss等。

在這兩種情況下,這個術語也可以指主機軟件來執行這些事情的機器硬件。

+0

IIS也是一個應用服務器,適用於ASP.NET。 – 2010-01-02 20:25:10

0

Web服務器有時可充當應用程序服務器(例如,託管Web服務時)。但是,應用程序服務器不必作爲Web服務器來實現。它可以只偵聽TCP套接字並採取相應的行動

2

Web服務器是一個容器,用於像servlet/jsp容器這樣的簡單操作。 應用程序服務器是一個類似於Web服務器的容器,但添加了比Web服務器更多的操作,如事務管理器,數據源,集羣,負載平衡,消息傳遞以及其他複雜的業務操作。

web服務器像apatche tomcat。

應用服務器如jboss,glassfish,web sphere,oracle應用服務器。

+0

我不同意。 Web Server只是Application Server的特定形式。 – skaffman 2010-01-02 20:48:24

+0

目標同意web服務器是應用服務器的特殊版本。 web服務器是輕量級容器 和應用程序服務器是重量級容器原因包含許多服務和容器,如jsp/servler和ejb容器等服務。 – bassem 2010-01-02 20:57:35

+0

@bassem:這並沒有太大的意義.. 首先,網絡服務器不是'輕量級容器'。一些網絡服務器比其他網絡服務器更輕量。例如,lighttpd是一款最小,佔用空間小,速度快的網絡服務器。 Apache不能稱爲輕量級。其次 - 術語是'應用程序服務器'是非常通用的。這意味着不同的事情取決於你問誰。 – user242275 2010-01-02 21:47:41

-1

Web服務器

Web服務器處理HTTP協議。當Web服務器接收到一個HTTP請求時,它會響應一個HTTP響應,例如發回一個HTML頁面。爲了處理請求,Web服務器可以響應靜態HTML頁面或圖像,發送重定向,或將動態響應生成委託給其他程序,例如CGI腳本,JSP(JavaServer Pages),servlet,ASP(Active Server Pages ),服務器端JavaScript或其他一些服務器端技術。無論它們的用途如何,這些服務器端程序都會生成一個響應,通常以HTML格式在Web瀏覽器中查看。

瞭解Web服務器的委託模型非常簡單。當請求進入Web服務器時,Web服務器只是將請求傳遞給最能夠處理它的程序。 Web服務器除了提供服務器端程序可以執行並返回生成的響應的環境外,不提供任何功能。服務器端程序通常爲自身提供事務處理,數據庫連接和消息傳遞等功能。

雖然Web服務器本身可能不支持事務或數據庫連接池,但它可能會採用各種策略來實現容錯和可伸縮性,如負載平衡,緩存和集羣 - 通常被錯誤地指定爲僅保留給應用程序服務器的功能。

應用服務器

作爲應用服務器,根據我們的定義中,應用服務器通過各種協議暴露業務邏輯的客戶端應用,其中可能包括HTTP。雖然Web服務器主要處理髮送用於在Web瀏覽器中顯示的HTML,但應用服務器提供對業務邏輯的訪問以供客戶端應用程序使用。應用程序可以像使用對象(或過程世界中的函數)調用方法一樣使用此邏輯。

此類應用程序服務器客戶端可以包括在PC,Web服務器或甚至其他應用程序服務器上運行的GUI(圖形用戶界面)。應用服務器和客戶端之間來回傳遞的信息不限於簡單的顯示標記。相反,這些信息是程序邏輯。由於邏輯採用數據和方法調用的形式,而不是靜態HTML,客戶可以使用公開的業務邏輯,但是它需要。

在大多數情況下,服務器通過組件API公開該業務邏輯,例如J2EE(Java 2 Platform,Enterprise Edition)應用程序服務器上的EJB(Enterprise JavaBean)組件模型。而且,應用程序服務器管理自己的資源。這種關守職責包括安全性,事務處理,資源池和消息傳遞。與Web服務器一樣,應用程序服務器也可能採用各種可伸縮性和容錯技術。

+1

您是否複製了http://www.javaworld.com/article/2077354/learn-java/app-server-web-server-what-s-the-difference.html中的這個響應單詞並且沒有給出任何信用? – Kon 2015-12-03 21:03:39

相關問題