web服務器之iis,apache,tomcat三者之間的比較

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更加順手。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/453455.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/453455.shtml
英文地址,請注明出處:http://en.pswp.cn/news/453455.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iOS CAGradientLayer顏色漸變

Gradient:本身就是梯度的意思,所以在這里就是作為漸變色來理解 CAGradientLayer用于處理漸變色的層結構CAGradientLayer的漸變色可以做隱式動畫大部分情況下,CAGradientLayer時和CAShapeLayer配合使用,CAShapeLayer這里就不介紹了CAGradientL…

編程要養成的好習慣

1.- DRY: Don’t repeat yourself. DRY 是一個最簡單的法則,也是最容易被理解的。但它也可能是最難被應用的(因為要做到這樣,我們需要在泛型設計上做相當的努力,這并不是一件容易的事)。它意味著,當我們在…

flink整合java,Flink使用SideOutPut替換Split實現分流

基于apache flink的流處理實時模型44元包郵(需用券)去購買 >以前的數據分析項目(版本1.4.2),對從Kafka讀取的原始數據流,調用split接口實現分流.新項目決定使用Flink 1.7.2,使用split接口進行分流的時候,發現接口被標記為depra…

虛機中訪問外網;NAT中的POSTROUTING是怎么搞的?

看下docker中是怎么配置的網絡 在虛機中訪問外網:設定了qemu,在主機上添加路由:sudo iptables -t nat -I POSTROUTING -s 192.168.1.110 -j SNAT --to-source 192.168.0.108 設置了這句話就可以訪問外網了。 設置了兩個虛擬機: ta…

Fragment結合ViewPager之懶加載

什么是懶加載?為什么要用懶加載?### 1、什么是懶加載 懶加載就是當ViewPager和Fragment結合在一起使用時,Fragment呈現在用戶面前時才加載數據,當其從未被呈現在用戶面前時,不會執行加載數據的代碼。這就是我所理解的懶…

WCF和webservice的區別

微軟論壇的斑竹回答如下: 腦內:果然是高大上啊 1.WebService:嚴格來說是行業標準,不是技術,使用XML擴展標記語言來表示數據(這個是夸語言和平臺的關鍵)。微 軟的Web服務實現稱為ASP.NET Web Ser…

職場不得不明白的十大定律

帕金森定律 美國著名歷史學家諾斯古德?帕金森通過長期調查研究,寫了一本名叫《帕金森定律》的書,他在書中闡述了機構人員膨脹的原因及后果:一個不稱職的官員,可能有三條出路。第一是申請退職,把位子讓給能干的人&am…

php控制器教程,laravel基礎教程 -- 控制器

HTTP 控制器簡介控制器允許你將相應的路由業務邏輯封裝在控制器類中進行有效的管理,這樣你不必將所有的路由邏輯集中到routes.php文件中,導致代碼的臃腫與難以維護。所有的控制器類都被存儲在app/Http/Controllers目錄中.基本控制器一個基本的控制器應該…

org.apache.jasper.JasperException: Unable to compile class for JSP:

報錯信息: org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 1 in the generated java file The type java.io.ObjectInputStream cannot be resolved. It is indirectly referenced from required .class filesSt…

i++和++i

關于自增自減運算,很多書籍沒有把問題講清楚,在C語言里是這樣的: 1.后置運算:k表示先運算,后自加。 意思是遇到k了,我先把當前的k的值拿來參加運算,后面再去管它的自加。 那么,“后面”后到什么…

什么樣的項目經歷會讓面試官眼前一亮

很多同學都問過我類似的問題: 咱們《C語言也能干大事》中講的自己動手寫windows優化大師、自己動手寫計算器等東西只是寫著玩的小玩具而已,這些能用來以后找工作時寫到簡歷中的作品嗎?看別人的簡歷寫的“圖書管理系統”、“教務選課系統”多有…

matlab采樣頻譜,Matlab對采樣數據進行頻譜分析

使用Matlab對采樣數據進行頻譜分析1、采樣數據導入Matlab采樣數據的導入至少有三種方法。第一就是手動將數據整理成Matlab支持的格式,這種方法僅適用于數據量比較小的采樣。第二種方法是使用Matlab的可視化交互操作,具體操作步驟為:File --&g…

鏈表和順序表的一些區別

順序表與鏈表是非常基本的數據結構,它們可以被統稱為線性表。 線性表(Linear List)是由 n(n≥0)個數據元素(結點)a[0],a[1],a[2]…,a[n-1] 組成的有限序列。…

ANCS推送簡介

總體原理 ANCS通過藍牙BLE 4.0實現,僅支持iPhone 4S及以上且系統版本在IOS 7以上的手機,同時在外設端需要支持藍牙4.0協議。 1、外設端進行廣播,手機打開藍牙,搜索外設,連接外設,之后進行綁定(這…

好記性不如爛筆頭,記錄幾個常用的Linux操作

作者:老王Shell公共函數庫Linux系統里有一些公共的Shell函數庫可供使用,最重要的是/etc/rc.d/init.d/functions,在/etc/init.d目錄下有很多腳本都用到了這個函數庫,里面提供了很多有用的方法,比如:killproc…

用matlab簡單電路模型,基于MATLAB的電路模型仿真應用

基于MATLAB的電路模型仿真應用實驗指導書一、實驗目的1、掌握采用M文件及SIMULINK對電路進行仿真的方法。2、熟悉POWERSYSTEM BLOCKSET 模塊集的調用、設置方法。3.進一步熟悉M腳本文件編寫的方法和技巧。二、實驗原理1、通過M文件實現電路仿真的一般仿真步驟為&…

春節期間小游戲同時在線人數最高達2800萬人/小時

微信官方發布2018年春節期間微信數據報告:除夕至初五,總共有2,297億條微信消息,28億條微信朋友圈成功發出,音視頻通話總時長175億乙分鐘。其中,90后用廣的消息發送量占總量的42.5%,80后用戶25.9%&#xff0…

C語言中* 和

&x是對x變量取地址,也就是返回的是x的地址。 int *i;這里面的*說明變量i是一個指針,存的是一個地址。 而 *i整體代表的是一個數值,例如可以int *i 5 這里整體的*i代表的是5,而i代表的是這個值存儲的地址

餐館的故事-淺析職責鏈模式

我們在餐館吃飯的時候,一般都是在拿到菜單后,選擇喜歡的菜,然后通知服務員。服務員會將我們的定單交給大廚,大廚可能會親自去做這道菜,也可能安排給小廚來做,總之,我們不用擔心他們沒有人做菜&a…

JDBC數據對象存儲

一:將查詢的結果生成對象,儲存在數組中。 1 package day31;2 3 import java.sql.Connection;4 import java.sql.PreparedStatement;5 import java.sql.ResultSet;6 import java.sql.SQLException;7 import java.util.ArrayList;8 9 public class java_ob…