HTML 教材:檔案系統 vs URL

前面那一節說明了網頁伺服機內的檔案系統被開放之後, 對外來說,其檔案系統與 URL 之間的關係。 這一節要說明對內來說,檔案系統和錨之間的關係。

用 A 環境建立『港口』,需要在 A 環境內設定參數 HREF。 用 IMG 孤立標籤指定圖片,需要設定參數 SRC。 這兩者都牽涉到檔案。 一般來說 HREF 和 SRC 的值可以是任意一個 URL, 則這個港口或圖片就連向 URL 所指的另一個檔案。 但是如果這個 URL 欲指的是同一個網頁伺服機內的網頁, 甚至是同一個檔案系統內的檔案, 就不需要寫一個完整的 URL,只要寫相對路徑或絕對路徑就可以了。

譬如說

<A HREF=poo/san.html>
或者
<IMG SRC=image/dot.png>
都是用相對路徑的方式來寫。 就是說要在「目前的檔案夾」裡面,打開 poo 檔案夾或是 image 檔案夾,從裡面拿指定的檔案。

Unix 分隔檔案夾路徑的符號是斜線 /, 但是 Windows 或 DOS 分隔檔案夾路徑的符號是反斜線 \。 不論您是在 Unix 還是在 PC 上寫作網頁,最好一律用斜線, 也就是 Unix 的標準來寫路徑分隔符號。

相對路徑也可以往上走,例如

<A HREF=../poo/san.html>
或者
<IMG SRC=../../image/dot.png>
都合語法。但是,如果往上走的路徑超出了 WebHome 或 WebRoot 規定的檔案夾, 那就違反了安全規則,那麼就算 HTML 的語法正確, 網頁伺服機也不會為您取得那些檔案。

如果 HREF 或 SRC 的值是以斜線 / 起頭, 那就是個絕對路徑。例如

<A HREF=/~foo>
或者
<IMG SRC=/~poo/image/dot.png>
都是絕對路徑的寫法。前者表示要連結到同一個網頁伺服機內 foo 帳戶, 開啟他的內定首頁。 後者表示要取得同一個網頁伺服機內 poo 帳戶的 WebHome 裡面、 image 檔案夾裡面的 dot.png 檔案。

<A HREF=/bcc16>
或者
<IMG SRC=/images/httpd.gif>
表示要從當地網頁伺服機的 WebRoot 裡面,讀取 bcc16 檔案夾的內定首頁, 或者是顯示 WebRoot 檔案夾內、images 檔案夾內的 httpd.gif 圖片。

習題

[BCC16-7]
單維彰 (2003/11/21) ---
[Prev] [Next] [Up]