HTML 教材:HTML 文件 vs 網頁

接續前一節所定義的名詞或縮寫,並且採用中央大學數學系的設定為例, 我們在這一節裡面解釋 HTML 文件和網頁之間的關係。

一份 HTML 文件被送上了某台網頁伺服機,放在 WebHome 裡面之後, 就等於是在網路上『出版』了。於是它搖身一變成為網頁。 這張網頁就有一個網址,學名是 URL。 以中央大學數學系的 foo 用戶為例 (稱他為阿福吧), 如果有人 (稱他阿三吧) 在瀏覽器上面寫了網址

http://www.math.ncu.edu.tw/~foo/poo.html
則阿三的電腦就透過網路送一個簡短的訊息給 www.math.ncu.edu.tw, 說它要 /~foo/poo.html 這張網頁。

而阿福的網頁伺服機 (也就是 www.math.ncu.edu.tw,但是此後簡稱為 WebServer) 就會在他的家目錄裡面找 Html 檔案夾; 如果找到了,就那在裡面找 poo.html 檔案; 如果找到了,就把這個檔案傳給阿三的電腦。 阿三的電腦和 WebServer 就完成了一筆『交易』。

阿三電腦上的瀏覽器獲得網頁檔案之後,就按照 HTML 的語法規定來排版, 使得阿三可以看到阿福寫的 HTML 文件。 如果這份文件裡面需要用到什麼圖片、音樂或其他資料, 阿三的電腦就會又送出新的簡短訊息給 WebServer, 請它再傳送新的檔案過來。 直到所有額外需要的檔案都到齊了,阿三就收到完整的網頁。 舉例來說,如果 poo.html 裡面需要兩張不同的圖片, 則阿三的電腦還要和 WebServer 完成另外兩筆『交易』, 阿三才能看到完整的 HTML 文件。

如果 WebServer 找不到上述檔案, 或是阿福不慎鎖住了檔案使得 WebServer 沒有讀取的權力, 就會傳送一個簡短的錯誤訊息給阿三的電腦。 而阿三就會在瀏覽器上看到錯誤訊息。

如果阿三指定的 URL 是

http://www.math.ncu.edu.tw/~foo/poo
則 WebServer 就會做:
  1. 看看阿福的家裡有沒有 Html 檔案夾,如果有,進到裡面去:
    1. 看看有沒有一個名叫 poo 的檔案夾,如果有,進到裡面去:
      • 開始【尋找內定首頁】的程序,後面再說。
    2. 如果沒有,設定檔案名是 poo,開始【按照副檔名順序尋找檔案】:
      1. 先找 poo.html,如果有,把這個檔案傳給阿三的電腦,完成交易。
      2. 如果沒有,找 poo.htm,如果有,把這個檔案傳給阿三的電腦,完成交易。
      3. 如果沒有,找 poo.shtml,如果有,把這個檔案傳給阿三的電腦,完成交易。
      4. 如果沒有,找 poo.php,如果有,把這個檔案傳給阿三的電腦,完成交易。
      5. 如果還是沒有,回覆錯誤訊息,完成交易。
  2. 如果沒有,就回覆錯誤訊息啦,完成交易。

如果阿三指定的 URL 是

http://www.math.ncu.edu.tw/~foo/poo/
則 WebServer 就會做:
  1. 看看阿福的家裡有沒有 Html 檔案夾,如果有,進到裡面去:
    1. 看看裡面有沒有 poo 檔案夾,如果有,進到裡面去, 開始【尋找內定首頁】的程序:
      1. 設定檔案名為 index,開始【按照副檔名順序尋找檔案】的程序, 如上所述,不再重複。如果找到了,把檔案傳給阿三的電腦,完成交易。
      2. 如果沒找到,設定檔案名為 Welcome, 開始【按照副檔名順序尋找檔案】的程序。 如果找到了,把檔案傳給阿三的電腦,完成交易。
      3. 如果還是沒找到,檢查看看 WebServer 是否允許出版檔案夾的目錄。 如果允許,就把這個檔案夾裡面所有檔案的目錄傳給阿三的電腦,完成交易。
      4. 如果不允許,回覆錯誤訊息,完成交易。
    2. 如果沒有,回覆錯誤訊息,完成交易。
  2. 如果沒有,就回覆錯誤訊息啦,完成交易。

最後,如果阿三指定的 URL 是

http://www.math.ncu.edu.tw/~foo
或是
http://www.math.ncu.edu.tw/~foo/
則 WebServer 就會做:
  1. 看看阿福的家裡有沒有 Html 檔案夾,如果有,進到裡面去:
  2. 如果沒有,就回覆錯誤訊息啦,完成交易。

當然,如果 WebServer 發現它的機器裡面根本沒有一個名字叫做 foo 的用戶, 那當然就沒有 foo 的家目錄,所以就回覆錯誤訊息了。

至此,讀者可能有一個疑問,如果阿三指定的 URL 是

http://www.math.ncu.edu.tw
那 WebServer 該做什麼呢? 這時候 WebServer 就要檢查 WebRoot 是哪個檔案夾。 找到這個檔案夾,進去執行【尋找內定首頁】的程序。 如果找不到這個檔案夾,就回覆錯誤訊息。 BCC16 的網頁伺服機名叫『李白』,讀者不妨看看李白的 WebRoot 是什麼:
http://libai.math.ncu.edu.tw

習題

  1. 您之前已經製作了一些 HTML 文件。現在,您應該可以出版自己的首頁了吧!
[BCC16-7]
單維彰 (2000/01/10) --- 01/03/15, 03/11/21 (單)
[Prev] [Next] [Up]