ASP
ASP是Active Server Page的縮寫(xiě),意為“動(dòng)態(tài)服務(wù)器頁(yè)面”。ASP是微軟公司開(kāi)發(fā)的代替CGI腳本程序的一種應(yīng)用,它可以與數(shù)據(jù)庫(kù)和其它程序進(jìn)行交互,是一種簡(jiǎn)單、方便的編程工具。ASP的網(wǎng)頁(yè)文件的格式是.asp,現(xiàn)在常用于各種動(dòng)態(tài)網(wǎng)站中。 ASP是一種服務(wù)器端腳本編寫(xiě)環(huán)境,可以用來(lái)創(chuàng)建和運(yùn)行動(dòng)態(tài)網(wǎng)頁(yè)或Web應(yīng)用程序。ASP網(wǎng)頁(yè)可以包含HTML標(biāo)記、普通文本、腳本命令以及COM組件等。利用ASP可以向網(wǎng)頁(yè)中添加交互式內(nèi)容(如在線表單),也可以創(chuàng)建使用HTML網(wǎng)頁(yè)作為用戶(hù)界面的web應(yīng)用程序。
ASP.NET
Asp.net是建立在通用語(yǔ)言運(yùn)行時(shí)刻庫(kù)(CLR)上的應(yīng)用程序框架。他用來(lái)在服務(wù)器端構(gòu)建功能強(qiáng)大的web應(yīng)用程序。Asp.net提供了幾個(gè)超越以前web開(kāi)發(fā)模式的優(yōu)點(diǎn):
·增強(qiáng)的性能。Asp.net是運(yùn)行在服務(wù)器端的編譯后的CLR代碼,而不是像ASP那樣解釋執(zhí)行。
Asp.net利用提前綁定,即時(shí)編譯,本地優(yōu)化和緩存服務(wù)來(lái)提高性能。所有這一切,性能遠(yuǎn)遠(yuǎn)大于你以往寫(xiě)的每一行代碼。
·世界級(jí)水平的開(kāi)發(fā)工具支持。在Visual Studio .net的集成開(kāi)發(fā)環(huán)境(IDE)中,Asp.net框架由豐富的工具箱和設(shè)計(jì)器組成。所見(jiàn)即所得的(WYSIWYG)編輯方式、拖放服務(wù)器控件、以及自動(dòng)部署,僅僅是這一強(qiáng)大工具所提供的一少部分功能。
·強(qiáng)大而富有彈性。由于asp.net是基于(CLR)的,因此整個(gè).net平臺(tái)的強(qiáng)大和富有彈性,同樣可以應(yīng)用于web應(yīng)用程序開(kāi)發(fā)者。.net框架的類(lèi)庫(kù)、消息以及數(shù)據(jù)訪問(wèn)解決方案,都可以無(wú)縫集成到web。Asp.net也是語(yǔ)言中立的,因此你可以選擇你最熟悉的語(yǔ)言,或者通過(guò)幾種語(yǔ)言來(lái)共同完成一個(gè)應(yīng)用。而且,CLR的互用性可以保證你升級(jí)到asp.ent的時(shí)候,現(xiàn)存的基于COM的開(kāi)發(fā)投資依然保留。
·簡(jiǎn)單。Asp.net使執(zhí)行常用的工作變得很容易,比如從簡(jiǎn)單的表單提交、客戶(hù)端驗(yàn)證,到部署和站點(diǎn)配置。例如,asp.net允許你建立用戶(hù)接口,實(shí)現(xiàn)頁(yè)面和邏輯代碼的分離,同時(shí),就像vb的表單執(zhí)行模式那樣來(lái)處理事件(也就是說(shuō),由頁(yè)面驅(qū)動(dòng)模式變成了事件驅(qū)動(dòng)模式)。此外,CLR簡(jiǎn)化了部署,用來(lái)管理代碼服務(wù),例如自動(dòng)參照和垃圾回收。
·易于管理。Asp.net使用一個(gè)基于文本的、分層次的配置系統(tǒng),它簡(jiǎn)化了服務(wù)器端環(huán)境和web應(yīng)用程序的設(shè)置。由于配置信息用純文本格式保存,新的設(shè)置不需要本地管理工具的支持。這種“零本地支持”的理念也同樣應(yīng)用到了部署asp.net應(yīng)用程序。Asp.net應(yīng)用程序部署到服務(wù)器,簡(jiǎn)化為復(fù)制必要的文件到服務(wù)器。在部署,甚至替換正在運(yùn)行的變異代碼的時(shí)候,也不需要重新啟動(dòng)服務(wù)器。
·可伸縮性和有效利用性。Asp.net被設(shè)計(jì)成可伸縮的,能為集群和多處理器環(huán)境設(shè)計(jì)提高性能。而且,asp.net運(yùn)行時(shí)刻密切監(jiān)視和管理進(jìn)程,這樣,如果發(fā)生了錯(cuò)誤的行為,例如漏洞和死鎖,新的進(jìn)程會(huì)在當(dāng)前位置建立,來(lái)幫助你的應(yīng)用程序繼續(xù)處理事件請(qǐng)求。
·可訂制和擴(kuò)展。Asp.net提供一種良好的擴(kuò)充結(jié)構(gòu),允許開(kāi)發(fā)者在適當(dāng)?shù)募?jí)別“插入”他們的代碼。事實(shí)上,使用自己的編寫(xiě)的組件可以擴(kuò)展或者替換asp.net運(yùn)行時(shí)刻的任何子組件。執(zhí)行自定義驗(yàn)證或狀態(tài)服務(wù)變得前所未有的容易。
·安全性。內(nèi)建的windows驗(yàn)證和每一個(gè)應(yīng)用程序的獨(dú)立配置,你可以認(rèn)為你的應(yīng)用程序是安全的。
PHP
PHP,一個(gè)嵌套的縮寫(xiě)名稱(chēng),是英文超級(jí)文本預(yù)處理語(yǔ)言(PHP:Hypertext Preprocessor)的縮寫(xiě)。PHP 是一種 HTML 內(nèi)嵌式的語(yǔ)言,是一種在服務(wù)器端執(zhí)行的嵌入HTML文檔的腳本語(yǔ)言,語(yǔ)言的風(fēng)格有類(lèi)似于C語(yǔ)言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運(yùn)用。PHP 獨(dú)特的語(yǔ)法混合了C、Java、Perl 以及 PHP 自創(chuàng)新的語(yǔ)法。它可以比 CGI 或者 Perl 更快速的執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)。用PHP做出的動(dòng)態(tài)頁(yè)面與其他的編程語(yǔ)言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標(biāo)記的CGI要高許多;與同樣是嵌入HTML文檔的腳本語(yǔ)言JavaScript相比,PHP在服務(wù)器端執(zhí)行,充分利用了服務(wù)器的性能;PHP執(zhí)行引擎還會(huì)將用戶(hù)經(jīng)常訪問(wèn)的PHP程序駐留在內(nèi)存中,其他用戶(hù)再一次訪問(wèn)這個(gè)程序時(shí)就不需要重新編譯程序了,只要直接執(zhí)行內(nèi)存中的代碼就可以了,這也是PHP高效率的體現(xiàn)之一。PHP具有非常強(qiáng)大的功能,所有的CGI或者JavaScript的功能PHP都能實(shí)現(xiàn),而且支持幾乎所有流行的數(shù)據(jù)庫(kù)以及操作系統(tǒng)。
JSP
JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類(lèi)似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開(kāi)發(fā)的Web應(yīng)用是跨平臺(tái)的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁(yè)面被客戶(hù)端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁(yè)面返回給客戶(hù)端的瀏覽器。Java Servlet 是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開(kāi)發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平xml臺(tái)無(wú)關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。
XML
XML(Extensible Markup Language)即可擴(kuò)展標(biāo)記語(yǔ)言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言)。Xml是Internet環(huán)境中跨平臺(tái)的,依賴(lài)于內(nèi)容的技術(shù),是當(dāng)前處理結(jié)構(gòu)化文檔信息的有力工具。擴(kuò)展標(biāo)記語(yǔ)言XML是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)語(yǔ)言,使用一系列簡(jiǎn)單的標(biāo)記描述數(shù)據(jù),而這些標(biāo)記可以用方便的方式建立,雖然XML占用的空間比二進(jìn)制數(shù)據(jù)要占用更多的空間,但XML極其簡(jiǎn)單易于掌握和使用。
CGI
Common Gateway Interface,公共網(wǎng)關(guān)接口。網(wǎng)頁(yè)服務(wù)器與應(yīng)用程序之間傳遞資料的接口規(guī)范,CGI程序客用冷和程序語(yǔ)言產(chǎn)生,通常為Perl,使用CGI程序可以讀取使用者的輸入并產(chǎn)生動(dòng)態(tài)的HTML網(wǎng)頁(yè)。我這個(gè)省的一個(gè)人和我同齡,他對(duì)CGI很精,現(xiàn)在有名的論壇(yuzi bbs3000)就是他做的。CGI每次響應(yīng)一個(gè)請(qǐng)求都會(huì)建立一個(gè)進(jìn)程(Process),對(duì)于服務(wù)器來(lái)說(shuō)是一個(gè)不校的負(fù)擔(dān)哦。不過(guò),現(xiàn)在的Fast-cgi以及對(duì)此有很大的改善,所以就不用怕使用CGI編的論壇會(huì)占有你過(guò)多的系統(tǒng)資源了(我可沒(méi)有說(shuō)不會(huì)?。?。
Perl
Perl具有高級(jí)語(yǔ)言(如C)的強(qiáng)大能力和靈活性。事實(shí)上,你將看到,它的許多特性是從C語(yǔ)言中借用來(lái)的。與腳本語(yǔ)言一樣,Perl不需要編譯器和鏈接器來(lái)運(yùn)行代碼,你要做的只是寫(xiě)出程序并告訴Perl來(lái)運(yùn)行而已。這意味著Perl對(duì)于小的編程問(wèn)題的快速解決方案和為大型事件創(chuàng)建原型來(lái)測(cè)試潛在的解決方案是十分理想的。Perl提供腳本語(yǔ)言(如sed和awk)的所有功能,還具有它們所不具備的很多功能。Perl還支持sed到Perl及awk到Perl的翻譯器。
一般來(lái)說(shuō),對(duì)于一個(gè)客戶(hù)來(lái)說(shuō),語(yǔ)言的選擇并不是很重要,實(shí)現(xiàn)預(yù)期的功能是最重要的,況且這幾種編程語(yǔ)言都可以實(shí)現(xiàn)復(fù)雜的功能。但是,不同的編程語(yǔ)言的安全性、執(zhí)行效率、成本是不一樣的,通俗來(lái)說(shuō),ASP最簡(jiǎn)單,但是安全性和執(zhí)行效率很一般,PHP稍復(fù)雜,安全性和執(zhí)行效率較高,而且PHP有著很多自身的優(yōu)勢(shì),比如跨平臺(tái)應(yīng)用等。JSP則屬于電子商務(wù)級(jí)別的,執(zhí)行效率最高,但JAVA語(yǔ)言學(xué)習(xí)起來(lái)難度較大,開(kāi)發(fā)周期也較長(zhǎng),服務(wù)器環(huán)境復(fù)雜,技術(shù)要求較高,對(duì)電子商務(wù)要求不高的中小企業(yè)不推薦采用該編程語(yǔ)言。
轉(zhuǎn)發(fā)請(qǐng)注明:丁丁貓