- PHP動態網站程序設計(第2版)
- 唐四薪
- 1381字
- 2020-04-22 11:55:37
1.1.3 動態網站開發語言
動態網站開發語言用來編寫動態網站的服務器端程序。常見的動態網站開發語言有CGI、PHP、ASP、JSP和ASP.NET等。下面分別進行介紹。
1.CGI
最早能夠動態生成HTML頁面的技術是通用網關接口(Common Gateway Interface,CGI),由美國的國家超級計算技術應用中心(National Center for Supercomputing Applications,NCSA)于1993年提出。CGI技術允許服務器端應用程序根據客戶端的請求,動態生成HTML頁面。早期的CGI大多是編譯后的可執行程序,其編程語言可以是C、C++等任何通用的程序設計語言,也可以是Perl、Python等腳本語言。但是,CGI程序的編寫比較復雜而且效率低,并且每次修改程序后都必須將CGI的源程序重新編譯成可執行文件。因此目前很少有人使用CGI技術。
2.PHP
1994年,拉斯馬斯·勒德爾夫(Rasmus Lerdorf)發明了專門用于Web服務器編程的PHP工具語言,與以往的CGI程序不同,PHP語言將HTML代碼和PHP指令結合成為完整的服務器端動態頁面,執行效率比完全生成HTML標記的CGI要高得多。PHP的其他優點包括:跨平臺并且開放源代碼,支持絕大多數流行的數據庫,可以運行在UNIX、Linux或Windows操作系統上。開發PHP時通常搭配Apache Web服務器和MySQL數據庫。
3.ASP
1996年,微軟(Microsoft)公司推出了ASP 1.0。ASP是Active Server Pages的縮寫,即動態服務器頁面。它是一種服務器端腳本編程環境,可以混合使用HTML、服務器端腳本語言(VBScript或JavaScript),以及服務器端組件創建動態、交互的Web應用程序。從Windows NT 4.0開始,所有Windows操作系統都提供了互聯網信息服務(Internet Information Services,IIS)組件,它可以作為ASP的Web服務器軟件。
提示:腳本(Script)是一種可以在Web服務器端或瀏覽器端運行的程序,目前比較流行的Web編程腳本語言有JavaScript和VBScript,并且一般采用Javascript作為客戶端腳本語言,VBScript作為服務器端腳本語言。
4.JSP
1997—1998年,Sun公司相繼推出了Servlet技術和JSP(JavaServer Pages)技術。這兩者的組合(還可以加上JavaBean技術),讓程序員可以使用Java語言開發Web應用程序。
JSP實際上是將Java程序片段和JSP標記嵌入HTML文檔中,當客戶端訪問一個JSP網頁時,將執行其中的程序片段,然后返回給客戶端標準的HTML文檔。與ASP不同的是:客戶端每次訪問ASP文件時,服務器都要對該文件解釋執行一遍,再將生成的HTML代碼發送給客戶端。而在JSP中,當第1次請求JSP文件時,該文件會被編譯成Servlet,再生成HTML文檔發送給客戶端,當以后再次訪問該文件時,如果文件沒有被修改,就直接執行已經編譯生成的Servlet,然后生成HTML文檔發送給客戶端。由于以后每次都不需要重新編譯,因此JSP在執行效率和安全性方面有明顯優勢。JSP的另一個優點是可以跨平臺,缺點是運行環境及Java語言都比較復雜,導致學習難度大。
5.ASP.NET
2002年,Microsoft公司正式發布了.NET FrameWork和Visual Studio.NET,它引入了ASP.NET這種全新的Web開發技術。ASP.NET可以使用Visual Basic.NET、C#等編譯型語言,支持Web窗體、.NET Server Control和ADO.NET等高級特性。ASP.NET最大的特點是程序與頁面分離,也就是說它的程序代碼可單獨寫在一個文件中,而不是嵌入網頁代碼中。ASP.NET需要運行在安裝了.NET FrameWork的IIS服務器上。
總的來說,PHP和ASP屬于輕量級的Web程序開發環境,只要安裝Dreamweaver(簡稱DW)就可進行程序的編寫。而ASP.NET和JSP屬于重量級的開發平臺,除了安裝DW外,還必須安裝Visual Studio或Eclipse等大型開發軟件。
本書選擇介紹PHP語言,主要基于以下原因。
①PHP簡單易學。由于AppServ等集成環境的出現,配置PHP的Web服務器也是很簡單的。因此,PHP很適合初學者學習,能夠讓初學者在短時間內領會到Web應用程序開發的思路。
②幾種語言的編程思想其實都是很相似的,例如,每種語言基本上都定義了一些服務器與瀏覽器之間交互信息的方法,只要熟練掌握其中一種,再去學習其他的語言就容易了。
- Mastering Concurrency Programming with Java 8
- JavaScript從入門到精通(微視頻精編版)
- Learning Informatica PowerCenter 10.x(Second Edition)
- Backbone.js Blueprints
- Julia Cookbook
- 軟件架構:Python語言實現
- Python算法從菜鳥到達人
- 微信小程序入門指南
- Elasticsearch Server(Third Edition)
- UVM實戰
- OpenCV 4計算機視覺項目實戰(原書第2版)
- SQL 經典實例
- Mastering Python Design Patterns
- RESTful Web Clients:基于超媒體的可復用客戶端
- Node.js實戰:分布式系統中的后端服務開發