TCP/IP 協定與 Internet 網路:第十五章 全球資訊網系統 上一頁 下一頁
15-3 WWW 系統架構
有了上述的系統概念後,緊接著我們來看圖 15-2 的 WWW 系統架構。WWW 也是主從式架構,伺服器端(Web Server)提供資源(HTML 文件)讓客戶端(瀏覽器)下載,它們之間是以 HTTP 通訊協定來傳輸。伺服器端使用 URL 的定址方式,客戶端可以依照 URL 位址找到所要的網站,所以 URL 又稱為『網址』。我們分別簡述其功能如下:
圖 15-2 全球資訊網簡介
15-3-1 瀏覽器
客戶端就是瀏覽器(如 IE 或 Netscape),它的功能是由伺服器端上接收 HTML 程式後,再將其執行並顯示成文件,此文件型態就稱為網頁(Web Page)。所以,客戶端以顯示大量文件(或網頁)為主要工作。每一網頁上的文字或圖樣可以指向其它相關頁來連結,頁和頁之間的連結可以無止境的延伸,此連結方法就稱為『超鏈結文件』(HyperText)。不僅可以連結網頁,還可以在網頁上任何文字或圖樣設定連結到其它網站,稱之為『超連結』(Hyperlink)。因此,在客戶端上可以行走全世界任何一個網站,觀看網站上的網頁,所以稱之為『瀏覽器』(Browser)。
基本上,瀏覽器是屬於直譯器(Interpreter)的功能,它由伺服器上下載網頁程式(HTML)將其翻譯並執行後,再將結果顯示到螢幕上。另一方面,它也是屬於 HTTP 伺服器的客戶端,負責和 HTTP 伺服器之間的通訊。但隨著瀏覽器應用的方便性,人們期望將不同的網路功能都附加到瀏覽器上,使它具有其它網路系統的功能,譬如,FTP,BBS,Mail 等功能。因此,再將其它網路系統的客戶端功能加到瀏覽器上,如圖 15-3 所示。
圖 15-3 瀏覽器的功能圖
由圖 15-3 可以發現瀏覽器不再僅是網頁系統的客戶端,也可當作 FTP、Mail、New 等系統的客戶端,甚至可以瀏覽本機上的檔案(File)內容。另一方面,如果僅有 HTML 直譯程式,那麼瀏覽器只能觀賞文字或圖形,如此並不能滿足使用者的需求,我們希望能隨使用者的喜好載入其它程式,來增加瀏覽器的功能。例如,插入 Java 直譯器後,瀏覽器就可以執行 Java 所開發的程式,不但可以整合多媒體(文字、聲音、影像),還可以表現動畫,提高網站的可看性。也就是說,我們可以將各種不同的直譯程式,崁入瀏覽器之中,使它能編譯執行不同的程式語言,來增強瀏覽器的功能。總而言之,瀏覽器不但必須具備有各種通訊協定的功能,也包含各式各樣的直譯程式,因此,可以將瀏覽器視為全球資訊網的工作平台並不為過,也促使瀏覽器成為最複雜的軟體套件,相對的,網路應用系統的最大安全漏洞,也出現在瀏覽器上。
15-3-2 一致性資源定址
既然瀏覽器可以接受不同協定的傳輸,也可以處理不同語言所編寫的程式,但它如何判斷該以何種模式來工作,這必須由使用者命令它處理。然而使用者應該以何種模式和瀏覽器溝通,這就是『一致性資源定址』(Uniform Resource Locators, URL)的制定目的,當使用者以 URL 通知瀏覽器工作時,必須標明以下三項資訊:(a) 連接該網站使用何種通訊協定(http 或 ftp);(b) 網站位址在哪裡(主機的 DNS 名稱);(c) 該網頁的檔案名稱(或檔案格式)。例如:
http://www.tsnien.idv.tw/index.html
URL 的三個部分是:通訊協定(http)、主機位址(www.tsnien.idv.tw)、網頁的檔案名稱(index.html)。通訊協定有:http(超連結文件,HTML)、ftp(FTP 檔案傳輸協定)、file(本地檔案)、news(新聞文章)、gopher(Gopher 文件協定)、mailto(傳送郵件協定)。檔案名稱的副檔名(如,.html)是用來標示,該檔案是由何種程式語言編寫而成,以啟動相對應的直譯程式(如,HTML 直譯程式)。
並非只有使用者下達命令時,才會以 URL 模式通知瀏覽器,在網頁上的超連結,也是使用 URL 位址模式來連結到另一個網頁(或網站),在連結中可能跨越不同的通訊協定,譬如,在瀏覽網頁(HTTP 協定)時可超連到檔案傳輸(FTP 協定)功能,也可超連結來傳遞郵件(SMTP 協定)。
15-3-3 網頁伺服器
『網頁伺服器』(Web Server)是用來儲存 HTML 文件,讓瀏覽器下載執行的伺服器。它和客戶端之間是以 HTTP 通訊協定溝通,又稱為『HTTP 伺服器』(HTTP Server),傳輸埠口大多架設在 80/tcp 位置。網頁伺服器是目前最炙手可熱的設備,它也是一套非常複雜的系統。隨著網站需求的大量增加,一部網頁伺服器只能架設一個網站已漸不符所需了,我們希望在同一部網頁伺服器上建構更多的網站,才能符合經濟價值。因此,它必須透過虛擬主機技術,來建構許多虛擬網站,乃至個人網站。這方面我們將以 Apache 伺服器為範例,來介紹網頁伺服器的管理,以及虛擬網站和個人網站的架設技巧。