ASP與PHP的不同之處

字號:


    什么是PHP
    PHP代表了"超文本處理器",這意味著你必須知道,它是一種服務(wù)器端的處理語言,且以HTML的形式出現(xiàn)。它最常用的地方就是網(wǎng)頁了,數(shù)據(jù)從客戶機(jī)發(fā)送到Web服務(wù)器,信息在此被處理并返回結(jié)果。
    但這種通用性的語言絲毫不局限于在網(wǎng)頁方面,PHP也能被用在命令行shell中,它可作為操作系統(tǒng)的一個擴(kuò)展,由此執(zhí)行相應(yīng)的PHP文件。
    在數(shù)據(jù)庫方面的應(yīng)用也是PHP的一個強(qiáng)項(xiàng),MySQL、SQL、Microsoft Access、Oracle及InterBase只不過是采用了PHP語言的一部分?jǐn)?shù)據(jù)庫。
    什么是ASP
    ASP是Acitve Server Pages的縮寫,它也是一種服務(wù)器端的腳本語言,微軟公司為達(dá)到動態(tài)網(wǎng)頁的效果,把它集成進(jìn)了服務(wù)提供者進(jìn)程,就是眾所周知的COM(Component Object Models)。
    盡管ASP也不只限于在IIS(Internet Information Services)服務(wù)器上運(yùn)行,但只有在IIS上,才能發(fā)揮它的全部功能,最初支持它的操作系統(tǒng)為Windows 2000及NT4 Option Pack。同樣,ASP在除IIS之外的平臺上也能運(yùn)行,PWS(Personal Web Server)就能在Windows NT、95、98上解釋ASP代碼,但是,功能會有所限制。
    成本問題
    可能很多人都想要爭論ASP與PHP的成本問題,但這真的不是一個主要的重點(diǎn)所在。大多數(shù)購買IIS的用戶是為了與微軟產(chǎn)品的更好集成,話說回來,IIS絕對對得起這多花出去的錢。
    PHP與運(yùn)行它的Apache Web Server都是免費(fèi)的,它們是由Apache軟件基金會提供的--安全、免費(fèi),正因?yàn)榇耍琍HP可以免費(fèi)安裝,唯一的成本是購買運(yùn)行它的服務(wù)器,及安裝的時間成本。
    速度問題
    這個問題也是服務(wù)器端腳本語言中,雙方爭論最激烈之處,自從這兩種語言來到這個世界,這個問題的爭論就沒有停止過。
    一般來說,應(yīng)用程序在使用完內(nèi)存之后,應(yīng)把它"還給"操作系統(tǒng),只要內(nèi)存一直在被程序使用,操作系統(tǒng)通常也不會要求收回。PHP使用內(nèi)存的獨(dú)特方法,使之成為了它的一個優(yōu)點(diǎn)。PHP在得到一塊內(nèi)存之后,會暫時保留住它,當(dāng)內(nèi)存用完后,并沒有把它還給操作系統(tǒng),而保留用于接下來可能發(fā)生操作。這個可以在配置文件中進(jìn)行修改。
    因?yàn)榛贑OM的架構(gòu),所以ASP稍微慢一點(diǎn),原因是它調(diào)用了對象模型,而系統(tǒng)又必須加載這些模型,這有點(diǎn)兒像那些使用了控件的編程語言。在內(nèi)存消耗方面,也與標(biāo)準(zhǔn)應(yīng)用程序相差無幾。
    實(shí)際上,速度區(qū)別最大的地方是IIS或Apache Web Server運(yùn)行于的計(jì)算機(jī),如果計(jì)算機(jī)不同,那么,在配置更好的計(jì)算機(jī)上的語言將運(yùn)行得更快一些。
    兼容性思考
    說到兼容性問題,那就太多了,因?yàn)槭澜缟蠜]有兩臺計(jì)算機(jī)的硬件與軟件是完全相同的,正因?yàn)榇?,人們都想知道,在他們已擁有的設(shè)備上,程序會怎樣運(yùn)作。
    從這個范疇來說,PHP可能已先勝出一步了,它贏在開放源代碼方面(Open Source),這意味著它背后可能有著不計(jì)其數(shù)的開發(fā)者、更好的資源、更大的文檔庫等等。由于這些因素,PHP開發(fā)的越多,程序員學(xué)到的也越多。
    ASP一般認(rèn)為只能運(yùn)行在IIS上,正如前面所提到的,這并不是十分正確,事實(shí)上,ASP也能運(yùn)行在Apache上。Apache ASP可在任意Apache服務(wù)器上運(yùn)行有限的ASP功能,所需做的,只需打開mod_perl。
    要記住的是,PHP可運(yùn)行在任意平臺上,Mac OS X、Windows、Linux及Solaris都是可運(yùn)行它的操作系統(tǒng)。
    安全性考慮
    不管安全性有多高,任何事物都存在被攻破的可能,唯一缺乏的只是時間與資源的問題。
    Apache的安全選項(xiàng)使它比Windows Server操作系統(tǒng)更具安全性,IIS已有很多已知的安全漏洞,且一直在進(jìn)行修補(bǔ);相比而言,Apache的安全性可是有目共睹的。
    編程易學(xué)性
    ASP來源于微軟產(chǎn)品中最常見的語言--Visual Basic,所以,它非常簡單易學(xué);而PHP更多地以C++語言為基礎(chǔ),這可能也是它速度快的一部分原因吧。
    ASP的一般性誤解
    ASP與ASP.NET完全不是一種東西,ASP.NET是對ASP編程語言的一次徹底重寫,正因?yàn)榇?,它的大部分功能是不能向后兼容的,它適合于微軟更新的 .NET架構(gòu)。
    結(jié)論
    從個人的角度來看,PHP更快、更安全、更易于使用、兼容性更高,甚至更便宜,但也并不是說ASP一無是處。有關(guān)兩者進(jìn)一步更多的討論也沒什么必要,使用最與你系統(tǒng)兼容、最符合你期望的語言就是了。