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