當前位置:編程學習大全網 - 編程語言 - CGI 程序指什麽?

CGI 程序指什麽?

壹、CGI:Common Gateway Interface

CGI代表Common Gateway Interface(通用網關界面),它使在網絡服務器下運行外部分應用程序(或網關)成為可能。CGI-BIN 目錄是存放CGI腳本的地方。這些腳本使WWW服務器和瀏覽器能運行外部程序,而無需啟動另壹個原因程序。

它是運行在Web服務器上的壹個程序,並由來自於瀏覽者的輸人觸發。CGI是在HTTP服務器下運行外部程序(或網關)的壹個接口,它能讓網絡用戶訪問遠程系統上的使用類型程序,就好像他們在實際使用那些遠程計算機壹樣。

CGI能夠讓瀏覽者與服務器進行交互,如果妳曾經遇到過在網絡上填表或者進行搜索,就很有可能就是用的CGI。

盡管CGI易於使用,但是當大批人同時使用壹個CGI應用程序是會反應較慢,網絡服務器 速度也會受到很大 影響。CGI應用程序的優點是可以獨立運行。

CGI應用程序可以由大多數的編程語言編寫,如Perl(Practical Extraction and Report Language)、C\C++、Java 和Visual Basic等。不過對於那些沒有太多編程經驗的網頁制作人來說,實在是壹個不小的難題。

CGI應用程序的工作原理是這樣的:

1.瀏覽器通過HTML表單或超鏈接請求指上壹個CGI應用程序的URL。

2.服務器收發到請求。

3.服務器執行指定所CGI應用程序。

4.CGI應用程序執行所需要的操作,通常是基於瀏覽者輸人的內容。

5.CGI應用程序把結果格式化為網絡服務器和瀏覽器能夠理解的文檔(通常是HTML網頁)。

6.網絡服務器把結果返回到瀏覽器中。

有關CGI應用程序要註意的是:

CGI應用程序運行在瀏覽器可以請求的服務器系統上,執行時需要使用服務器CPU時間和內存。如果有成千上萬的這種程序會同時運行,那會對服務器系統提出極高的要求。妳要慎重考慮這個問題,以防止服務器系統崩潰。

不完善的CGI應用程序可能成為別人非法進人服務器系統的通道,有可能導致重要的資料被刪除或外泄。

CGI應用程序主要的用途有以下幾種:

根據瀏覽者填寫的HTML表單發送定制的答復。

創建可單擊的圖像縮小圖。

創建壹個瀏覽者可以搜索內容的數據庫。

提供服務器與數據庫的接口,並把結果轉換成HTML文檔。

制作動態HTML文擋。

如果壹個CGI腳本可以在每臺計算機上做同樣的事情;編寫腳本就會變的很容易。不幸的是,CGI腳本依賴於服務器的操作系統,因此,對於非UNIX服務器來說,Prl(UNIX下編寫腳本的壹個常用工具)腳本毫無用處。所以,妳必須定制安裝妳的CGI腳本。

大多數服務器都提供CGI-BIN目錄,但是這還不夠。因為妳應該擁有自己的CGI-BIN。這樣,妳就能運行自己的腳本(而不是讓自己的系統去適應已存在於系統上的腳本)。因此,妳的提供商應安裝CGI-BIN,且能夠幫助妳編寫腳本

二、ASP:Active Server Pages

ASP,活動服務器頁面,就是壹個編程環境,在其中,可以混合使用HTML、腳本語言以及組件來創建服務器端功能強大的Internet應用程序。 如果妳以前創建過壹個站點,其中混合了HTML、腳本語言以及組件,妳就可以在其中加入ASP程序代碼。通過在HTML頁面中加入腳本命令,妳可以創建壹個HTML用戶界面,並且,還可以通過使用組件包含壹些商業邏輯規則。組件可以被腳本程序調用,也可以由其他的組件調用。

ASP的工作原理:

當在Web站點中融入ASP功能後,將發生以下事情:

1、用戶調出站點內容,默認頁面的擴展名是.asp。

2、瀏覽器從服務器上請求ASP文件。

3、服務器端腳本開始運行ASP。

4、ASP文件按照從上到下的順序開始處理,執行腳本命令,執行HTML頁面內容。

5、頁面信息發送到瀏覽器。

因為腳本是在服務器端運行的,所以Web服務器完成所有處理後,將標準的HTML頁面送往瀏覽器。這意味著,ASP只能在可以支持的服務器上運行。讓腳本駐留在服務器端的另外壹個益處是:用戶不可能看到原始腳本程序的代碼,用戶看到的,僅僅是最終產生的HTML內容

三、PHP:Personal Home Page

PHP 是壹種服務器端的,嵌入HTML的腳本語言。PHP區別其他像客戶端Javascript的地方是它的代碼在服務器端執行.PHP能做什麽?

最低水平,PHP可以做任何其他CGI程序所能做的事,例如收集表格數據,生成動態頁面內容,或者收發cookies.可能最強大,最有意義的特性是PHP支持大範圍的數據庫.書寫壹個支持數據庫的Web 頁面是難以置信的簡單.

下面是當前支持的數據庫:

Adabas D InterBase Solid

dBase mSQL Sybase

Empress MySQL Velocis

FilePro Oracle Unix dbm

Informix PostgreSQL

PHP通過協議也支持與其他服務的"交談",像IMAP, SNMP, NNTP, POP3, 甚至是 HTTP. 妳也可以打開晦澀的 網絡接口和其他協議交互.

PHP的簡要歷史

1994年秋季, Rasmus Lerdorf 開始構思 PHP. 早期的非發行版本被用在他的主頁上,以追蹤誰在看他的在線簡歷. 1995年年初第壹版本出臺,當時PHP只被認為是個人主頁開發工具.它由壹個非常單純的只能理解很少數特殊宏的分析引擎和 壹些用在主頁後端通用的工具組成.如留言簿,計數器和其他壹些東西.這個分析器在1995年年中被重寫並被命名為 PHP/FI 第二版. FI來自 Rasmus 寫的另外壹個包, 用於解釋 html 形式的數據.他結合了個人主頁工具腳本和形式解析器,並加 上mSQL支持.這樣就產生 PHP/FI 了. PHP/FI以令人驚奇的步調成長,人們開始把自己的代碼貢獻給它.

很難給出它的硬統計表,但可以估計在1996年末,整個世界至少有15,000個網站在用PHP/FI.到1997年年中,這個 數字已經超過50,000了. 而在此時PHP的發展也發生了變化.由Rasmus自己偏愛的和幾個人開發的項目變成壹個更有組織的團 體成就.Zeev Suraski和Andi Gutmans重寫了解析器.這個新的解析器成為PHP版本3的基礎.許多有用的代碼從PHP/FI 繼承到PHP3,並且很多是完全重寫的.

今天(1999年年中)不管是PHP/FI或PHP3與很多商業產品捆綁在壹塊,例如C2級強度的Web服務器和紅帽子Linux. 根據NetCraft提供的數據推斷,保守估計全世界應用PHP的網站已超過150,000個.由此看來,它比在因特網上運行Netscape 的旗艦企業服務器的站點還多.

  • 上一篇:東莞取保候審會留案底嗎 東莞取保候審會留案底嗎知乎
  • 下一篇:壹個電腦編程“數制轉換”?
  • copyright 2024編程學習大全網