1. 程式人生 > >web伺服器之iis,apache,tomcat三者之間的區別

web伺服器之iis,apache,tomcat三者之間的區別

IIS與Tomcat的區別

IIS是微軟公司的Web伺服器。主要支援ASP語言環境.
Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技術的標準實現,是基於Apache許可證下開發的SJP語言環境容器,嚴格得說不能算是一個WEB伺服器,而是Apache服務介面卡。
tomcat主要的任務不是WEB服務,而是支援JSP語言環境.
IIS就是這款WEB伺服器,支援ASP語言環境

Apache與Tomcat的區別

APACHE是一個web伺服器環境程式 啟用他可以作為web伺服器使用。 不過只支援靜態網頁. 但asp,php,cgi,jsp等動態網頁的就不行.
如果要在APACHE環境下執行jsp 的話就需要一個直譯器來執行jsp網頁, 而這個jsp直譯器就是TOMCAT, 為什麼還要JDK呢?因為jsp需要連線資料庫的話就要jdk來提供連線資料庫的驅程,所以要執行jsp的web伺服器平臺就需要 APACHE+TOMCAT+JDK 整合的好處

是:如果客戶端請求的是靜態頁面,則只需要Apache伺服器響應請求如果客戶端請求動態頁面,則是Tomcat伺服器響應請求因為jsp是伺服器端解釋程式碼的,這樣整合就可以減少Tomcat的服務開銷 . **
apache是web伺服器,tomcat是應用(java)伺服器,它只是一個servlet(jsp也翻譯成servlet)容器,可以認為是apache的擴充套件。
Apache:普通伺服器,本身只支援html即普通網頁,它是html容器,功能像IIS一樣
tomcat:解釋java程式(jsp,serverlet),它是是jsp/servlet容器,用於釋出JSP及JAVA的
apache是一輛卡車,上面可以裝一些東西如html等。但是不能裝水,要裝水必須要有容器(桶),tomcat就是一個桶(裝像JAVA這樣的水),而這個桶也可以不放在卡車上。

IIS與 Apache的區別

對於中小企業來說建立自己的網站,對外展示自己的頁面是最平常不過的事情了。目前最流行的建立WWW服務工具就要屬Apache與IIS了。那麼他們之間都有什麼區別呢?到底哪個工具才是最適合我們的呢?今天就來討論下這個問題。

一、免費與收費之爭:

雖然很多使用者都使用IIS建立網站,他是集成於Windows作業系統中的元件。不過要想合法使用IIS就要購買正版Windows作業系統。

反觀Apache,他是完全免費的。不需要支付任何費用就可以免費下載並使用了。

結論——Apache免費,IIS收費,前者佔優。

二、穩定性:

接下來要比較的就是穩定性了,WWW服務要隨時運轉正常,一個網站也需要一天24小時,一週七天為公眾開放。所以穩定性是IIS和APACHE比較的重點。

IIS在實際使用中經常出現500錯誤,而且有的時候還會出現莫名其妙的假死現象。使用者需要不定期的重新啟動IIS服務才能保證網站的正常。

Apache在配置上比IIS要複雜,不過一經設定完畢就可以長期的工作了。大型網站都使用APACHE作為自己的WWW服務提供工具。APACHE的所有配置都儲存在配置檔案中,使用時完全按照配置檔案中記錄的資訊執行。一般不會發生莫名其妙的假死情況。

小提示:在windows2003系統下使用IIS比用APACHE效能要好。

結論——APACHE穩定,IIS有時假死,前者佔優。

三、擴充套件性:

擴充套件性是指WWW服務提供工具是否可以應用於多種場合,多種網路情況,多種作業系統。

IIS只能在微軟公司的windows作業系統下使用,離開了windows他將一事無成。無法移植到其他型別的作業系統中。

APACHE是個多面手,他不僅僅應用於windows,對於unix,linux以及freebsd等多種作業系統來說他都可以勝任工作。而且不同作業系統的配置步驟基本類似,可移植性非常高。

結論——IIS只能在windows下執行,apache應用範圍廣。apache獲勝。

四、安全性:

經常看到某某網站被黑客攻擊或者某某網站被非法使用者上傳病毒的訊息,對於為其他人提供服務的站點來說,安全性是最重要的。如果一個網站連自身安全都沒有保證的話,誰願意瀏覽和使用呢。

早期的IIS在安全性方面存在著很大的問題,如果使用預設設定的話黑客可以輕鬆趁虛而入。不過在IIS6中微軟公司對安全方面進行了大幅改進。只要保證作業系統補丁更新及時,就可以將網站安全係數儘可能的提高。特別是IIS6與.net平臺相互倚靠,使安全性幾乎完美。

APACHE在安全方面一直做的不錯,因為很多使用者都是在linux下使用apache,所以作業系統的特點使得linux下的apache具有先天的保護傘,安全性自然沒得說。

結論——IIS6以前的版本有安全隱患,IIS6和APACHE一樣安全可靠。IIS6與APACHE打個平手。

五、開放性:

所 謂開放性就是指是否開放了程式的原始碼,眾所周知IIS是WINDOWS系統的一部分,所以他的原始碼是沒有開放的。而apache則不同,最早他是為了 類unix系統服務的,所以完全對外開放原始碼。任何人都可以分析他的程式碼,發現其中的漏洞,併發布補丁來彌補該漏洞。

正因為APACHE的這種開放性,也使其安全性大大提高。

結論——IIS不開放程式碼,APACHE開放原始碼。後者獲得勝利。

六、難易性:

一個工具使用的難易程度直接影響其使用者的多少,特別是網頁釋出工具。畢竟很多公司希望有自己的網站,但又不希望聘請高薪的網路管理員來維護。因此必然找上手相對容易的工具來搭建自己的站點。

IIS開起來比較簡單,很容易就可能讓IIS工作,對外發佈網站。不過管理員很容易出現錯誤配置和誤操作問題。不過總體說來IIS還是非常容易學的,但要學好他恐怕是件非常困難的事。

APACHE的使用比IIS要難,需要有一定計算機及網路基礎的人才可以使用。他的配置也不是圖形化的,需要我們通過編輯配置檔案來實現。但是單從APACHE的設定上講,只要我們嚴格按照幫助檔案進行引數設定的話還是沒有什麼難度的。

結論——IIS容易安裝但難精通,APACHE安裝相對困難,要想精通也不是一件容易的事。IIS略佔優勢。

七、程式設計性:

為了讓網頁更加豐富多采,更加美觀,互動性更好,高手為我們開發了多種元件與控制元件,那麼這些控制元件在IIS或APACHE下是否正常執行呢?

APACHE 下的Mod Rewrite功能非常強大,而IIS中的ISAPI的Rewrite需要專門開發,一般初學者是不能夠實現的。APACHE可以使用 Subversion WebDev以及.htaccess功能,還可以使用ForceType。另外IIS對FastCGI的支援也不是很好,所以一些CGI、PHP程式執行 起來速度很慢,遠不如apache。

結論——不同的環境下使用不同的元件,因為選擇IIS還是APACHE由工作環境所決定,這點兩者不分高下。

八、支援語言方面:

由於目前建立網站和論壇的語言多種多樣,例如ASP,PHP,JSP等語言。那麼IIS和APACHE對他們都支援嗎?

IIS對ASP特別是.net執行很穩定,不過對於PHP和JSP就比較麻煩了。PHP需要經過反覆配置才能在windows2003上支援。APACHE則能夠很好的支援上面提到的幾種語言,執行ASP,PHP,JSP都沒有任何問題。

結論——APACHE支援語言比較多,IIS支援PHP和JSP時有點麻煩,需要經過一定的配置。APACHE獲勝。

九、待遇方面:

提到待遇方面可能很多讀者會比較納悶,怎麼IIS和APACHE還存在待遇問題呢?其實我們這裡要討論的是網路管理員的待遇。一個會IIS的網路管理員與一個會APACHE的網路管理員,他們的薪水是不一樣的。

APACHE最大的好處就是配置引數多,如果要精通APACHE需要很高的水平。所以同等水平的網路管理員會APACHE的要比會IIS的待遇更好。

結論——錢多是獲勝的唯一標準,APACHE佔優。

總結:

其實今天我們在這裡爭論IIS好還是APACHE好是沒有很大意義的,本文所進行的比較也只是給那些徘徊在網路管理員路口,不知道學習哪個工具來建立網站的讀者一點參考。只有你對IIS和APACHE有了一個大概的瞭解之後,才能為自己的未來進行規劃。

總 的來說Apache的優點在於在各種開源的WWW服務提供工具中特性最全,支援最廣,相對比較穩定的,而且擴充套件性豐富。不過正因為要考慮擴充套件性,效能就肯 定不會太高,只能保持一箇中等的水平。而IIS6在處理連線及事件效能方面還是很強大的,超過了APACHE。另外安全方面IIS6也有了質的飛躍,彌補 了以往IIS漏洞漫天的缺陷。如果你的公司網路環境不負責,沒有涉及太多的開發的話建議仍然使用IIS6。當然如果是建立在WWW上的開發和除錯還是使用 APACHE更加順手。