- PHP動態Web開發技術
- 郭玲
- 2075字
- 2020-01-10 16:04:42
1.1 動態Web概述
1.1.1 靜態Web與動態Web
被譽為“互聯網之父”的英國計算機科學家蒂姆·伯納斯·李(Tim Berners-Lee)在20世紀90年代初發明了萬維網(World Wide Web,WWW),并成功開發出世界上第一個網頁瀏覽器和第一個網頁服務器,宣告了網站的誕生。隨即,互聯網迅速向大眾普及。目前,全球互聯網網站數量已達數十億個。
一個網站由多個網頁構成。這些網頁可以各自呈現其獨立的信息,具有特定的功能,同時也可以相互關聯形成一個整體。從網頁的內容是否可以通過動態交互生成和變化的角度來看,網頁可以分為靜態網頁(靜態Web)和動態網頁(動態Web)兩大類,它們各有特點。
靜態Web制作完成后,頁面上顯示的內容和格式是固定不變的,如果需要改變,就必須去修改頁面代碼。靜態Web主要由超文本標記語言(Hyper Text Mark-up Language,HTML)制作而成,網頁的文件名以.htm、.html、.shtml等為擴展名。靜態Web是網站建設的基礎。需要注意的是,靜態Web上可以出現各種動態的效果,如動畫、滾動文字等,但這些只是頁面內容在視覺上的“動態效果”,與后面介紹的動態Web是不同的概念。早期的網站包含的網頁基本上都是靜態Web。靜態Web的運行速度快,內容相對穩定,易被搜索引擎檢索,但在功能方面有較大的局限性,頁面內容更新起來比較麻煩,所以一般對于功能簡單、內容更新少的網頁,我們采用靜態Web的方式制作。
動態Web是相對于靜態Web而言的,指其網頁內容可以根據不同的情況而動態變更。動態Web的網頁文件在基本HTML的基礎上,加入了由Java、C#、PHP等程序語言編寫的代碼,用于實現網站所需的特定功能。這些程序代碼可以使用戶和網頁之間進行交互,網頁輸出將根據客戶瀏覽器的不同請求而動態產生不同的結果。動態網站通常基于數據庫技術構建,融合了程序設計語言、數據庫編程技術等,可以實現強大的網站功能,同時大大降低了網站維護的工作量。常見的購物車、論壇、電子圖書館、網上投票等都是由動態Web實現的。動態Web的擴展名通常有.php、.jsp、.aspx、.asp、.perl、.cgi等,這與網頁所采用的開發技術有關,采用不同技術制作的動態Web,其擴展名也有所不同。
網站是采用動態Web還是靜態Web主要取決于網站的功能需求和網站內容的多少,如果網站功能比較簡單,內容更新量不是很大,采用純靜態Web的方式會更簡單,反之則要采用動態Web技術來實現。純粹由靜態Web構成的網站稱為靜態網站,包含動態Web的網站稱為動態網站。動態網站也可以采用靜動結合的原則,在適合采用動態Web的地方用動態Web,如果有必要使用靜態Web,則可以考慮用靜態Web的方法來實現。在同一個網站上,動態Web內容和靜態Web內容同時存在也是很常見的事情。
1.1.2 動態Web訪問流程
動態Web不能直接由瀏覽器解釋輸出,必須經過服務器的處理,然后傳送給瀏覽器,其訪問流程如圖1-1所示。
圖1-1 動態Web訪問流程
首先,用戶在瀏覽器地址欄中輸入要訪問的網頁地址,瀏覽器即向網址對應的Web服務器發出頁面請求。然后,Web服務器接收到該請求后,根據文件名查找相應的網頁文件,調用專門的處理程序對代碼進行解析,如果網頁文件中還有需要操作數據庫的代碼,則訪問數據庫服務器并返回交互數據。最后,Web服務器將動態Web解釋為一個靜態頁面發送給瀏覽器,以呈現給用戶。
1.1.3 常見的動態Web開發技術
早期的動態Web開發主要采用公用網關接口(Common Gateway Interface,CGI)技術,可以使用不同的編程語言,如Visual Basic、Delphi或C/C++等。雖然CGI技術已經成熟且功能強大,但由于其編程困難、效率低下、修改復雜,已經被新技術所取代。目前最常見的動態Web開發技術有PHP、JSP和ASP.NET這3種。
1.PHP
PHP(Hypertext Preprocessor,超文本預處理器)是一種通用開源腳本語言,主要適用于Web開發領域。PHP于1995年由拉斯姆斯·勒多夫(Rasmus Lerdorf)創建,最初是為了維護個人網頁而制作的一個簡單的用Perl語言編寫的程序,后來又用C語言重新編寫。PHP的語法借鑒了C、Java、Perl等語言,它將程序嵌入HTML文檔中去執行,執行效率高。PHP也可以在編譯優化后運行,使代碼運行得更快。
PHP跨平臺性強,可以運行在UNIX、Linux、Windows、Mac OS、Android等平臺,同時具有免費和代碼開源的特點,非常適合開發中小型的Web應用。使用PHP開發的速度比較快,而且由于所有的軟件都是免費的,可以減少成本投入。關于PHP的詳細內容將在下一節重點講述。
2.JSP
JSP(Java Server Pages,Java服務器頁面)是由Sun Microsystems公司于1999年6月推出的動態Web開發技術,是在傳統的HTML網頁文件中插入Java程序段(Scriptlet)和JSP標記(Tag)形成的JSP文件。JSP基于Java Servlet和整個Java體系,實現了HTML語法中的Java擴展。
JSP將網頁邏輯與網頁設計的顯示分離,支持可重用的基于組件的設計,使基于Web的應用程序開發變得迅速和容易。JSP具備了Java技術的簡單易用、完全面向對象且安全可靠的特點。用JSP技術開發的Web應用是跨平臺的,具有平臺無關性,既能在Linux中運行,也能在其他操作系統中運行。
3.ASP.NET
ASP.NET是微軟公司于2002年推出的新一代綜合性平臺架構——Mricrosoft.NET框架的一部分。它是一個統一的Web開發模型,提供了多種服務,使開發人員可以用盡可能少的代碼來構建功能強大的Web應用。ASP.NET可以建立包括從小型的個人網站到大型的企業級Web應用等各種類型的項目,具有高效、強大、安全可靠的特點。開發人員可以選用Visual Basic、C#、JScript.NET和J#等多種程序語言來編寫應用。
用ASP.NET開發的Web應用只能運行于Windows的Web服務器IIS(Internet Information Server,互聯網信息服務)之上,具有平臺的局限性。