Shares50FacebookLinkedInTweet更新日期: 2025 年 4 月 3 日
本文為 網路是什麼 系列文:
網路的起點:從芳鄰到全球連線的世界
網際網路是如何運作?|運作原理大解析
Web (全球資訊網)到底是什麼?|組成內容、運作機制|全方位解析
網址(URL)是什麼?|最完整的相關名詞解析
超連結(hyperlinks)是什麼?
若閱讀完本系列文,建議閱讀 前端是什麼 相關介紹
Web(全球資源網)主要由三大概念組成:
超連結文字
HTTP 協議
網址
這次,我們要探討的主題就是網址。
網址是一種網路機制,用來使瀏覽器能透過「網址」,搜尋並找到網路上發布的任何資源。
網址的英文簡稱為 URL ,它是 Uniform Resource Locator (統一資源定位符)的簡稱。
我知道「資源定位符」看起來很難懂,因此以下我們會以「網址」一詞繼續討論。
簡單來說,網址就像一個網路資源(網頁、影片等)的網路地址。
理論上,每個有效的網址,都會與一個網路資源聯繫在一起。
那些資源包含 HTML 頁面、CSS 檔案、圖片等等。
實務上,在這些網址中會有一些例外,最常見的案例就是網址連接的資源,早已不付存在或已被移除。
此外,由於網路資源是透過 URL 傳遞,URL 又是由網路伺服器所管理。
因此伺服器管理員的責任,就是仔細管理那些網路資源,以及它背後連接的網址。
URL 基本架構
網址的型態很多變,以下我們舉三個網址為例:
http://developer.website.com
http://developer.website.com/ch-TW/Learn/
http://developer.website.com/ch-TW/search?q=URL
作為使用者,我們可以將網址輸入瀏覽器上方的搜尋欄,請它載入網址背後連接的網頁或資源。
一個網址是由許多不同元素組成。有些是固定要求,有些則屬於自由配置。
我們可以先看看到下圖,讓自己有個大概念的認識。
我們可以將網址想像成「郵政地址」去理解。
方案:代表你想使用的郵政服務
網域:目的地的城市
埠:可以想成郵遞區號
資源路徑:代表目的地的大樓
參數:額外的資訊,例如 A 大樓還是 B 大樓
錨點:信件寄送的當事人
方案(Scheme)
網址最前面的元素是「方案」。
方案大多是是指瀏覽器對伺服器,發出資源請求的一種通訊協議。
你問:「什麼是通訊協議?」
關於這個問題,我們在先前的系列文中,都有進行解釋,如果想了解更多,可以先去查看相關文章。
簡單來說,協議就是一個網際網路世界中,用來交換數據、資料的方法。
對於網站而言,通常會使用 HTTP 或者 HTTPS(HTTP 的安全加強版)。
但你可能會好奇:「為何要稱網址開頭處為「方案」,而不直接取名為「協議」就好?」
因為在現在的網際網路,除了「協議」以外,還有更多的資源請求方式。
因此,我們才會稱開頭處為「方案」而非「協議」,因為「協議」只是瀏覽器請求資源的眾多方法之一。
當瀏覽器找尋網址時,原則上會需要使用以上兩者其中一項協議。
但除此之外,瀏覽器同樣知道,如何處理其他類型的方案。
例如瀏覽器打開「mailto:」開頭的網址,就會跳轉到電子郵件的撰寫頁面,讓使用者直接撰寫電子信。
所以下次當你看到「http」與「https」以外開頭的網址時,切忌不用太過擔心害怕。
權限(Authority)
接在「方案」區塊後面的部分是「權限」,它由文字符號「://」與前者區隔開來。
「權限」是由「網域」與「埠」兩者,一般常見的網址都只會出現「網域」部分,較少會有「埠」 此數值。
若網址同時出現網域與埠,需要以「:」間隔開來。
以下,我們分別針對兩者進行簡單解釋。
「網域」是什麼?
當瀏覽器想向伺服器提取網頁檔案時,網域是用來告訴瀏覽器,資源的位置要去哪一部伺服器提出申請。
除了網址外,瀏覽器也可透過「 IP 」位置得知伺服器所在地,但因為它相較網址不易閱讀,因此比較少見。
「埠」是什麼?
一台擁有 IP 位置的伺服器(硬體),根據內建的軟體不同,可以提供很多服務。
常見的「伺服器軟體」包含:
網頁伺服器(Web server):提供 Web 服務
郵件伺服器(mail server):提供郵件服務
FTP伺服器(FTP server):提供上傳、下載檔案服務
埠的用途,就是藉由「IP位置+埠值」此方法,用來區分不同的服務。
我們可以將伺服器內建的各種服務,想像成數個房間,埠則是進入那些房間的「門」。
當瀏覽器想使用伺服器的 Web 服務時,就要從對的門進去,才能使用到房間裡的功能。
一般來說,若伺服器 Web 服務採 HTTP 協議,埠為: 80;若採 HTTPS 協議,埠則為:443。
現今的網址,會將預設的數值 80 或 433 省略,所以我們才看不見。
「://」是什麼?
將「方案」與「權限」兩部分區隔開的符號是「://」。
「:」主要的目的,是將網址中的方案,與下一個部分區分開來。
「//」則表示網址下一部分的內容是「權限」。
我們舉一個簡單的例子,來說明不是所有的網址,都會含有「://」此符號。
例如郵件類型的網址,它的開頭為「mail:foobar」。
上述例子包含了「方案」元素,但並沒有使用到「權限」元素,因此「:」後方並沒有緊跟著「//」符號。
資源路徑 (Path to resource)
資源路徑是指檔案在伺服器的位置。
在早期的 Web 世界,這種檔案位置的標示方式,代表一份真實存在的硬體檔案,存放在伺服器內部。
現今,這種資源路徑的標示方式,變成一個由伺服器儲存的虛擬文件。
參數 (Parameters)
參數是伺服器提供的額外訊息,它是接在「?」後方的區塊。
這些參數一系列數值、連接符號組成,若有多個以上的參數,他們中間會以「&」分隔。
例如:「?key1=value1&key2=value2」
每個網路伺服器,都有它們各自的參數撰寫規則。
若想知道特定的網路伺服器參數,最直接的方法就是詢問伺服器擁有者。
網址會添加參數的原因有數個,以下是常見的幾項理由:
1. 排序與篩選
電商網站是最常使用參數的地方,它能讓使用者透過排序與篩選,動態產生一個對應的網頁。
/dresses?sort=a-z
/womens-shoes?color=red
/hotels/seattle-wa?rating=5-star
2. 分頁
參數可以用來標示多個網頁。
例如:/blog/all-articles?page=3
3. 站內搜尋
當使用者在網站內搜尋時,參數可用傳遞搜尋結果。
例如:/search?q=christmas
4. 翻譯
網站轉換成另一種語言時,可以用參數表達。
例如:/home?lang=fr
5. 說明
當使用者想查看產品的細部資料,可以使用參數表示。
例如:/product?sku=12345
6. 追蹤
參數可以用來追蹤特定宣傳活動成效,或按網站按鈕的點擊來源。
例如:/landingpage?utm_campaign=fbid_holidaypromo
錨點 (Anchor)
錨點是一種超連結,它會讓使用者導向該資源(例如網頁)的另一的部分。
我們可以將錨點想成一種資源的書籤,讓瀏覽器能知道特定片段的位置。
例如在一個 HTML 檔案,使用者點擊錨點後,瀏覽器會自動跳至該錨點定義的位置。
以影音等檔案來說,錨點則會跳至該錨點設置的「時間點」。
值得注意的是,網址「#」字號後方的字串,又稱為「片段識別符號」。
它是一種不需傳遞給伺服器的網頁請求。
如何使用網址
我們可以透過在瀏覽器的網址欄,輸入任何一個網址,用來取得該網址連接的資源。
但上述做法,還只是網址使用方法的冰山一角。
我們能藉由 HTML 語言,讓網址的使用方法更加延伸。
使用、