Loading...
訪客人次:
 
 
 
 
2007年11月5日 星期一 , ,  

認識 URL

什麼是 URL
URL 一般稱為網址, 全名 Uniform Resource Locator , 照字面上翻譯就是"一致的資源定位器", 意思就是 URL 的表示法是一個固定的規範, 透過一個 URL 可以對應到全球網站上的一個檔案(資源), 不管我們要瀏覽一個網頁, 還是要顯示一張圖片, 甚至是要下載一個檔案等等都是要用到 URL。一個 URL 不可能對應 2 個以上的資源 , 否則就大亂了

URL 通常由幾個部份所組成
1. 通訊協定:網頁應用上的通訊協定, 一般為 http, 有興趣可自行查閱相關資料
2. 網站的 domain 或 IP, 以及 port 號:一般會使用 domain 與 80 port, 而 80 port 是可以省略不寫的
3. 資源在該網站上的路徑位置與檔名

寫在一起就變成
通訊協定://網站domain:port/路徑與檔名

例如
http://enjoywebtech.blogspot.com/1.html

因為使用 80 port , 故 port 號省略不寫, 如此就是一個完整的 URL, 也稱為絕對網址

網址與資料夾的關係
我們架設一個網站時, 網站上所提供的資源, 基本上都是存放在該網站所在電腦硬碟上的檔案, 而一個網站, 一定會有一個主要目錄, 對應到硬碟檔案環境中的一個目錄, 以 Window 環境來說明的話, 就是對應到檔案總管中的一個資料夾, 只要是放在這個目錄裡的檔案, 幾乎都會變成網路上可讀取得到的資源(依網站軟體的設計, 有些是有例外), 而網站根目錄就是指這個主目錄, 在網址上就是對應到網站 domain 之後的第一條【/】的位置, 例如這個 Blog 的根目錄就是 http://enjoywebtech.blogspot.com/
若在這個主目錄內放了一個 1.html, 那麼就能用以下的 URL 來讀取到這個資源
http://enjoywebtech.blogspot.com/1.html

若在這個主目錄內放一個名為 abc 的資料夾, 並在 abc 資料夾內放一個 2.html, 那麼就能用以下的 URL 來讀取到這個資源
http://enjoywebtech.blogspot.com/abc/2.html

以此類推, 在檔案總管中的資料夾路徑是用【\】來做為上下層資料夾的串接符號, 換到網址上就變成以【/】來做為串接符號

絕對網址與相對網址
在上面, 我們已有提到絕對網址, 但在一般實際應用上, 我們比較不常用絕對網址, 因為太長一串了, 通常我們會使用相對路徑。所謂的相對路徑, 就是跟某一個特定的位置來比較的相對位置, 通常我們會載入的資源都是在我們自己的網站上的檔案, 此時再完整的指定通訊協定與網站的 domain 似乎是多餘的, 所以常會利用相對於一個基準位置的表示方式來寫我們的網址, 一般有兩個可以當做基準的位置, 一個是網站的根目錄, 一個是當前這支網頁所在的目錄, 假設我在 http://enjoywebtech.blogspot.com/aaa/1.html 網頁中要開啟 http://enjoywebtech.blogspot.com/bbb/2.html 這個網頁, 下面針對兩個基準位置來說明用法
  1. 網站根目錄:用根目錄來做參照時, 我們可以用 /aaa/1.html 來代表 http://enjoywebtech.blogspot.com/aaa/1.html, 也就是省略網站根目錄之前的內容, 所以同樣的我們也可以在 1.html 中用 /bbb/2.html 來對應到我們要開啟的網址

  2. 當前網頁所在目錄:用這種方式, 首先要了解一下一般資料夾的對應語法, 【.】代表當前的資料夾, 【..】代表上一層的資料夾, 在相對網址中也是一樣, 所以我們可以在 1.html 中用 ../bbb/2.html 來對應到我們要開啟的網址, 因為 2.html 是位於 1.html 所在的資料夾的上一層資料夾中的 bbb 資料夾內, 說明有點長, 多看幾次就能了解對應的方法其實不難

網址在網頁應用上是使用很廣泛的, 例如你想要設計一個超連結來開啟另一支網頁, 或是你想要在你的網站上放幾張圖片等等, 這些都要利用到網址, 所以要寫好網頁, 網址的觀念是不可或缺的

下面就用一個實際的例子, 來說明在超連結上使用相對路徑的方法
<A href="/2007/10/html5.html">使用相對於根目錄的方法連結到 [超連結與錨點] 這篇文章</A>
<A href="../10/html5.html">使用相對於當前目錄的方法連結到 [超連結與錨點] 這篇文章</A>

這個例子是我要把連結直接寫在這篇文章中, 用以產生超連結連結到該篇文章, 實際結果如下
使用相對於根目錄的方法連結到 [超連結與錨點] 這篇文章
使用相對於當前目錄的方法連結到 [超連結與錨點] 這篇文章
當你用滑鼠滑過這兩個網址時, 你會發現在瀏覽器狀態列上顯示的網址是一樣的, 而且都是絕對網址, 這就是我們可以利用相對網址來讓瀏覽器幫我們轉換成絕對網址的證明

載入其他資源的用法, 我們會陸續再說明

--gs--
{什麼是網址}{什麼是URL}{絕對網址與相對網址}{絕對路徑與相對路徑}{什麼是通訊協定}{HTTP通訊協定}
沒找到你要的東西嗎?歡迎留下你的問題!若是我知道的,我會盡力的回答。

2 意見:

匿名 2007年12月24日 晚上11:26:00 提到...  

我看過有人用http://www.website.com/index.html 來作根目錄的。請問 /index.html 和 aaa/1.html 有什么不同的作用?

小妖 2007年12月25日 清晨7:43:00 提到...  

不好意思, 我不太清楚你的問題是什麼, 所以我只好依我的猜想來回答, 若回答不是你要的, 再請你重新說明一下你的問題

一般來說, WebServer 都能設定預設的文件, 也就是當使用者的網址結尾是 "/" 時, 要開啟哪一支網頁, 例如 http://www.website.com/ 或 http://www.website.com/aaa/ , 此時並沒有明確指定要讀取哪一支網頁, 那 WebServer 怎麼知道要回應哪一支網頁內容給使用者, 就是利用這個預設的文件

一般來說, 預設的文件通常會是 index.html 或 index.htm, 若是 JSP 或 ASP 等, 則會再加上 index.jsp 或 index.asp, 所以當使用者輸入 http://www.website.com/ 時, WebServer 就會回應 http://www.website.com/index.html 給他, 而使用者輸入 http://www.website.com/aaa/ 時, 則就會回應 http://www.website.com/aaa/index.html 給他

預設文件可以設定多個, 也可以改成自己想要的, 但有順序性, 也就是第一個找不到時, 才找第二個, 所以若你想讓 1.html 成為你的預設文件, 就要到 WebServer 去做設定(每一種 Server 設定方式不盡相同, 在此不便做描述)

如果 1.html 不是你的預設文件, 那麼使用者想讀取這個網頁時, 在網址就一定要指定這支網頁的檔名

以上希望有回答到你的問題


張貼留言

廣告訊息會被我刪除