電腦網路與連結技術:第六章 交談層、表現層與應用層上一頁      下一頁

 

翻轉工作室:粘添壽

 

6-7 Web-based 網路應用

 

由上一節我們可以大略瞭解,在電腦網路上比較高層次的應用,還是以應用分散處理環境(如圖 6-12 (b))中的主從式架構較適當。也就是說,資料庫伺服器所提供的服務,最合乎各種應用需求。然而在應用分散環境裡,應用程式存放於客戶端(client)電腦,也在客戶端電腦上執行。提供服務者只能控制資料部分,無法控制客戶端上的程式。如果提供服務者有意要修改或提供另一種服務,必須到所有客戶端安裝新的程式,對於較大的應用環境裡,可能不容易做到。如果,我們將應用程式以檔案伺服器的方法,存放於伺服器上,讓客戶端隨時下載安裝或更新。這也許會出現下列問題:

所下載的程式必定是執行檔案,無法跨越不同電腦上執行。

每部電腦上環境不一定相同,因此下載的程式不一定可以執行。

一般執行檔案都非常龐大,下載不容易。

客戶端也許不知道要下載新程式,而執行舊程式可能發生錯誤。

由上述的分析,在主從式的架構裡,將應用程式儲存於檔案伺服器上讓客戶端下載是不大可行的辦法。

如果,我們能將原始程式下載到客戶端,讓客戶端電腦重新翻譯再執行,也許是一種解決的辦法。但是我們要設計一種程式讓不同工作平台都能翻譯執行也是不簡單。所以,我們若在各種不同的工作平台上安裝一套共通軟體,這套軟體專門負責接收伺服器傳來的原始檔案,並且可以翻譯執行,就能解決所有的問題,這套軟體就是目前最流行的『瀏覽器』(Browser。其實瀏覽器是一個非常複雜的程式,一個瀏覽器有不同的版本,可以安裝在不同電腦上,但可以接收相同的原始程式並翻譯執行。早期瀏覽器只能接收顯示文字格式(如 Mosaic),目前瀏覽器大多能顯示聲音、影像、和文字(如 NetscapeMicrosoft IE),成為多采多姿的世界。另外,我們也必須制定一個標準的程式語言,這就是 HTML 語言(HyperText Markup Language),而伺服器與客戶端電腦之間的傳輸協定是 HTTP 協定(HyperText Transport Protocol)。儲存這原始檔案讓客戶端電腦下載執行的主機電腦,稱為網頁伺服器(Web server),神秘又美妙的全球資訊網(World Wide Web, WWW)之網路世界,就是由 Web-based 網路應用架構開始。以下我們來看看 WWW 發展的過程:

1989年瑞士日內瓦的歐洲粒子物理實驗室(European Laboratory for Particle Physics)建立整合性資訊系統(CERN),提出 WWW的構想。

199011月在 NeXT系統上開發出 WWW雛型,12月開發出文字模式的瀏覽程式。

19934 NCSA The National Center for Supercomputing Applications)發表Mosaic(文字模式)。

1994年起,WWW開始了第二次多媒體革命,導入多媒體技術。

19947 Netscape進入 WWW市場(多媒體模式)。

19956 Sun-soft Java Applet 增添文字以外的動態美感。

199512 Oracle開發出 Web伺服器連接資料庫技術。

19963 Microsoft 發表Active X架構。

我們可以發現網際網路在短短的十年功夫,就改變了整個網路世界,也成功了連接數千萬台電腦,和電話連結演進的時效相比,真是不可思議。而且網際網路的應用又不停的進步,除了電子商務外,我們相信他將會進入更深入的應用(如 Intranet Extranet 的辦公室自動化環境)。本節裡我們就來介紹 Web-based 所應用到的相關技術。

 

6-7-1 全球資訊網(WWW)簡介

6-16 表示『全球資訊網』(World Wide Web, WWW的簡介。WWW 也是主從式架構,伺服器端(Web server)提供資源(HTML 文件)讓客戶端(瀏覽器)使用。它們之間傳輸使用的是 HTTP 通訊協定。伺服器端的定址方法是 URL 定址,客戶端可以依照 URL 位址找到所要的網站,所以這個地址又稱為『網址』。我們分別簡述其功能如下:

 

6-16 全球資訊網簡介

 

(1) 客戶端:客戶端就是瀏覽器(如 IE Netscape),接收伺服器端的 HTML 文件再執行。這個文件型態就稱為頁(page),也稱之為『網頁』。所以,客戶端以顯示大量文件(或網頁)為主要工作。每一網頁上的文字或圖樣可以指向其他相關頁之間的連結,頁和頁之間的連結可以無止境的延伸,此連結方法就稱為『超鏈結文件』(HyperText。不僅可以連結網頁,還可以在網頁上任何文字或圖樣設定連結到其他網站,稱為『超連結』(Hyperlink。因此,在客戶端上可以行走全世界任何一個網站,觀看網站上的網頁,所以稱之為『瀏覽器』(Browser

基本上瀏覽器只能觀賞文字或圖形,如此並不能滿足使用者的需求,我們希望能隨使用者的喜好插入(plug-in)其他程式,以增加瀏覽器的功能。例如,可插入 Java applet 程式,在瀏覽器上即可以執行 Java 所開發的程式,不但可以整合多媒體(文字、聲音、影像),還可以表現動畫,提高網站的可看性。

(2) 伺服器端:伺服器是儲存 HTML 文件,讓瀏覽器下載執行。將 HTML 文件顯示在瀏覽器上就稱為網頁(page),因此該伺服器就稱為『網頁伺服器』(Web Server。因為它和客戶端之間是以 HTTP 通訊協定溝通,又稱為HTTP 伺服器』(HTTP serverHTTP 伺服器大多架設在 TCP上的第 80 埠口。

(3) URL:『一致資源定址』(Uniform Resource Locators, URL是指對每一個網頁能完全定義出它的位址和使用的通訊協定。當我們使用超連結時,設定某一文字片段或圖形指到其他網站上的網頁時,必須標明三件事情:(a) 連接該網站使用何種通訊協定(http ftp);(b) 網站位址在哪裡(主機的 DNS 名稱);(c) 該網頁的檔案名稱。例如:

http://www.tsnien.idv.tw/index.html

URL 的三個部分是:通訊協定(http)、主機位址(www.cma.edu.tw/)、網頁的檔案名稱(index.html)。通訊協定有:http(超連結文件,HTML)、ftpFTP 檔案傳輸協定)、file(本地檔案)、news(新聞文章)、gopherGopher 文件協定)、mailto(傳送郵件協定)。

 

6-7-2 HTTP 傳輸協定

『超文字傳輸協定』(HyperText Transfer Protocol, HTTP是針對 Web 設計的傳輸協定。伺服器和客戶端之間交談都是由 ASCII 方式請求,和 RFC 1341 MIMEMultipurpose Internet Mail Extensions)相似的回應所組成。一般是架設在 TCP 協定上的應用程式。ASCII 方式請求類似一般指令(Command)格式得下達命令,每一個命令格式有其存取方法。MIME 是將網頁(或程式)定義標準化格式,網頁的包裝格式分為表頭(Header)和主體(Body)。一般表頭包括網頁格式(HTML)、網頁頁頭、網頁標題、網頁主題及粗體文字等等(依照 HTML 定義)。主體是指某一個表頭的內容。ASCII 命令配合 MIME 的網頁格式,這就是 HTTP 傳輸協定存取的方法,它包含下列幾種基本命令:

GET請求讀取網頁。瀏覽器以 GET 命令,請求伺服器送出網頁,以 MIME 方式編碼。

HEAD請求讀取網頁的檔頭(header)。客戶端僅請求訊息檔頭,而非實際網頁。這方法可取得網頁最後修改時間,可用在建立或測試 URL 的有效性。

PUT請求儲存網頁。客戶端寫入網頁,提供客戶端建立網頁的功能。

POST附加一個名稱資源。客戶端將資料附加到某一資源的資料之後。

DELETE刪除網頁。客戶端要求刪除某一網頁。

LINK建立超連結。客戶端要求加入超連結。

UNLINK刪除超連結。客戶端要求刪除超連結。

客戶端以上述的命令要求伺服器端工作,每次請求都有回應執行狀態,狀態代碼有:200(執行正確)、304(執行錯誤)、400(錯誤請求)、403(請求禁止)。

 

6-7-3 HTML 語言

早期設計網頁瀏覽器的觀念非常簡單,僅希望整合不同文書處理的工具,並於共同的瀏覽器上顯示。不同的文書處理有:MS-WordviPE2 等等,各種文書處理的文件都有其資料表示方式。例如,在 MS-Word 上的文書儲存方式,對於某一段文字的大小或粗細體(如14 號字及粗體),會在這一段文字的頭尾加入標記符號。文章被開啟時,再依照標記符號將文字型態顯示在螢幕上。網頁的設計就是利用這種觀念,希望在文件上,以標準的標記符號來標示,使其能在不同工作平台上的瀏覽器開啟。這個標準文件標記語言就是『超文字標記語言』(HyperText Markup Language, HTML

HTML ISO 8879SGMLStandard Generalized Markup Language)的一種應用,設計使用於超連結文件並為 Web 所採用。如前所述,HTML 是一種標記(markup)語言,即是用於描述文件格式的語言。『標記』(markup是放置文件之中,告知排版軟體顯示文件的格式。例如,在 HTML 中,<B> 表示開始粗體模式,</B> 表示離開粗體模式。以記號語言所寫的文件和 WYSIWYGWhat You See Is What You Get)文書處理器產生的文件非常類似,如 MS-Word 一樣。一些較常用的標記如表 6-1 所示。

6-1 HTML 語言之標記

    

    

<HTML> ….. </HTML>

宣告網頁將以 HTML 編寫

<HEAD> …. </HEAD>

定義網頁的檔頭

<TITLE> … </TITLE>

定義標題(並不在網頁上顯示)

<BODY> … </BODY>

框註內為網頁主體

<Hn> … </Hn>

n=1~6,框註內六個階層的標題字大小

<B> … </B>

設定框註內文字為粗體

<I> …. </I>

設定框註內文字為斜體字

<UL> … </UL>

框註內為無序串列(註標式)

<OL> … </OL>

框註內為編號串列

<MENU> … </MENU>

框註內<LI>項目行成選單

<LI>

串列項目的開始(並無 </LI>

<BR>

強迫分離

<P>

區段開始

<HR>

水平線

<PRE> … </PRE>

已格式化文字

<IMG SRC= “…”>

在此載入影像圖形

<A HREF=”…”> … </A>

定義超連結

 

我們用圖 6-17 的例子來說明 HTML 程式的編寫方式。HTML 編寫程式相當類似於 MS-Word 的文件儲存格式,瀏覽器再依照文件上的標記來顯示。反過來,如果我們使用類似 MS-Word 的文件編輯方式,將於 MS-Word 上編輯(如 WYSIWYG 方式)的文件,儲存時再依照標記文件方式儲存。藉由此概念,使用一般文件編輯方式來設計網頁,儲存時再依照 HTML 語言型態儲存,就可節省需多程式設計的時間,這個網頁編輯工具就是類似 FrontPage 的網頁開發工具。

 

6-17 HTML 編寫方式

 

<GOTOP>