Plurk FaceBook Twitter 收進你的MyShare個人書籤 MyShare
  顯示內嵌語法

寄件者: 智邦生活館免費發報中心
主旨: 旗標技術通訊電子報
日期: 2000年5月28日 AM 01:03

【旗標技術通訊電子報】2000.5.26

I Love You 的變形病毒仍一再更名繼續流竄, 大家仍要小心。
如果你有安裝防毒軟體的話,要記得更新病毒碼才能防範!

本期訊息
================================================================
※本期書摘:ASP 相關技術概說(二)
※下期書摘:Windows 2000 簡介
================================================================


****************************************************************
※本期書摘:ASP 相關技術概說(二)
****************************************************************

瀏覽器與程式語言

目前兩大瀏覽器(Internet Explorer及Netscape Communicator)可
執行的程式並不全然相同,其中 Netscape 可執行的程式有
Java Script及Java,而IE則除了Java Script及Java之外,還有微
軟極力推廣的VB Script與ActiveX物件。

撇開個人的喜好,在瀏覽器的選擇上,IE確實比較大碗,但我們製
作網頁時,不能假設使用者所使用的瀏覽器一定是IE,因此,如果
想把動態網頁的程式交由瀏覽器來執行,又希望它們能夠同時適用
於IE及Netscape,無可否認的Java及Java Script 是唯一的選擇,
當然,也有另一派主張未來IE會打敗Netscape,因此大可跟著微軟
走。

就Java Script、Java、VB Script、及ActiveX物件而言,Java
Script及VB Script的法力僅侷限於瀏覽器本身,簡單的說,它們
可以透過瀏覽器所提供的物件來控制瀏覽器,進而製作出許多動態
網頁的效果,但它們都無法與伺服器進行通訊,因此凡是與Web資
料庫有關的應用都無能為力,至於Java及ActiveX物件雖然具備與
Web Server通訊的能力,但相對的,程式設計要困難得多,想要利
用瀏覽器上面執行的程式來存取Web資料庫是一件比較辛苦的事情。

相對於在瀏覽器上面執行的程式,伺服端的程式想要存取Web資料
庫可就輕鬆多了,畢竟程式與資料庫是在同一部機器上,不過,
伺服端的程式必須將執行的結果下載給瀏覽器。為了讓Web Server
可以將程式執行的結果下載給瀏覽器(或者讓Web Server可以讀取
瀏覽器上面的資料),便有所謂CGI(Common Gateway Interface)的
誕生。

CGI(Common Gateway Interface)

CGI的基本觀念

CGI對網路族來說,好像是很技術的東西,但實際上,它的觀念卻
與UNIX或DOS的Shell很像,對Shell而言,使用者是利用鍵盤輸入
指令,然後由Shell解譯此一指令並且啟動對應的程式,對CGI而言
,指令則是來自於瀏覽器,以CGI介面傳送到伺服器之後,再由伺
服器解譯後啟動伺服器之中對應的程式。

對Shell指令而言,可能帶有參數,當程式被Shell啟動之後,它可
以透過Shell所提供的介面讀取指令的參數,對伺服端的程式而言
,當它被啟動之後,則可以透過CGI所提供的介面讀取指令的參數。

最後是輸出的比較,同一個程式可能被Shell啟動或CGI所啟動,被
Shell啟動的程式其輸出是螢幕,被CGI啟動的程式其輸出則是網路
,也就是傳輸給瀏覽器。

CGI程式的問題

CGI可以說沒有任何技術可言,如果Web伺服器提供有CGI介面程式(
可能的形式有原始程式碼、程式庫、動態連結程式庫…,視Web伺服
器而定),那麼撰寫伺服端的CGI程式與一般程式是沒什麼差別的。
不過在實務上,同樣的作業系統,若Web伺服器不同,則CGI介面程
式也會不同,過去常有讀者抱怨:「Web 伺服器由WebSite換成IIS
之後,原來的CGI程式就無法使用了」,原因實在是因為不同Web伺
服器所提供的CGI介面程式不同所致。

ASP vs. CGI

ASP程式也算是CGI程式,或者說是CGI程式的改良版,它跟CGI程式
一樣是在伺服端執行,但是它有以下優點:

1.CGI介面物件化:在CGI程式中收集網頁資料最麻煩的事情是解析
瀏覽器上傳的資料(主要是為了解析特殊字元及中文碼),若使用
ASP程式來收集網頁資料,則ASP會代為解析,並且轉換成物件供
ASP程式來讀取,簡單地說,就是ASP提供有豐富的物件(以下簡稱
「ASP物件」)讓ASP程式簡化CGI的相關處理工作。

2.可以使用ActiveX物件:除了ASP物件外,舉凡Windows系統底下
的ActiveX物件也都可以讓ASP程式來使用,使其成為ASP網頁製作
中的資源,而由於ASP程式可以使用Windows系統底下的ActiveX物
件,也使得ASP程式可以做的事情比傳統的CGI程式要多出許多。

VB Script程式語言

與VB、VBA之間的關係

談到VB Script,大家最常問的問題是VB Script、VB、與VBA之間的
關係。如果從「時間」來看,先有VB、後來才有VBA(VB for
Application)及VB Script,但如果從「功能」來看,VB Script是
VBA的子集合、而VBA又是VB的子集合,所以VB是功能最齊全的。

既然先有功能比較齊全的VB,微軟為何還要發展VBA及VB Script呢?
一般來說,我們會把VBA與Office聯想在一起,在Office 95以前,
Word、Excel、及Access等Office系列的軟體也都允許使用者撰寫程
式,雖然這些軟體都是採用BASIC語言為基礎,但之間仍有若干差異
,不同軟體間的程式碼並不能互通(例如在Excel之中寫好的程式不能
直接使用於Word),為了解決這樣的問題,微軟便從VB之中抽取與程
式語言有關的部分構成VBA,做為Office系列軟體的程式語言。

VB Script的定位

至於VB Script主要是被定位於網頁的開發(註:VB Script也可以做
為Windows Scripting Host的語言,用途是Windows作業系統的批次
作業檔,不過這是另一個主題,筆者在此不討論),它與VB及VBA所不
同的是它的原始程式碼往往會與網頁放在一起,由IE或PWS/ IIS即時
解譯然後加以執行,因此它必須更精簡才行(註:如果VBScript的功
能跟VB一樣多,那麼IE為了解譯其程式碼,勢必使自己膨脹到比VB這
套軟體還大),這也使得VB Script的功能要比VB少很多,不過就使用
物件的權力來說,VB Script的權力跟VB是一樣的,也就是說在
Windows系統底下有註冊的物件,都可以被VB Script來使用。

在ASP網頁的製作中,我們可以選擇VB Script或Java Script做為撰
寫ASP程式的語言,本書選擇的是VB Script。除了HTML語言之外,VB
Script語言可以說是製作ASP網頁最重要的背景知識,


******************************************************************
以上內容摘自『ASP 網頁製作教本』王國榮 著
書號:F8914  定價:580元
******************************************************************
如果您對本期內容有任何意見,請與我們聯絡 service@flag.com.tw
想索取前幾期的電子報內容請至旗標網站下載
http://www.flag.com.tw/url/

本電子報內容未經授權請勿轉載
版權所有人:旗標出版股份有限公司


好書能增進知識、提高學習效率

===================================================

【智邦生活館】負責協助發送本電子報
(http://www.url.com.tw)

【電子報訂閱】用戶要訂閱或取消本電子報請到
(http://www.url.com.tw/ENews/)

===================================================