在這篇文章裡,我們會把 URL 拆解成協議、主機跟路徑三個大段,像是把一封信拆成寄件人、收件人跟內容。你想知道每個部份長什麼樣子嗎?
我們會用許多實際範例來說明,讓你一次就能看懂 URL 的結構,也方便日後寫出更乾淨、更易讀的網址。
URL 語法概覽:協議、主機與路徑
URL(Uniform Resource Locator)就像是網際網路上的地址標籤,告訴瀏覽器「請往哪裡去」以及「用什麼方式拿資料」。它通常可以拆成三個主要部分:
- 協議(Scheme):告訴你要用哪一種協定來抓取內容,例如
http、https、ftp等。 - 主機(Host):指定目標伺服器的位址,可能是域名、IPv4 或 IPv6。
- 路徑(Path)+ 查詢字串 + 片段:指明你想要拿到哪個資源,以及額外參數或定位點。
下面先看一張簡單的表格,說明各部份在 URL 中的位置與常見範例。
| 部分 | 符號 | 範例 | 說明 |
|---|---|---|---|
| 協議 | :// |
https |
網路協定,決定連線方式 |
| 主機 | 直接位於 :// 後面 |
www.example.com |
伺服器位置,可能帶埠號 |
| 路徑 | / 開頭 |
/blog/post-1.html |
資源路徑 |
| 查詢字串 | ? + key=value |
?id=123&sort=asc |
送給伺服器的參數 |
| 片段 | # + 標籤 |
#section-2 |
前端定位到頁面內部位置 |
協議(Scheme)
協議告訴瀏覽器用什麼方式跟伺服器溝通。常見的有:
http://- 傳統的網路協定,沒有加密。https://- 加上 TLS/SSL 的安全版本,現在絕大多數網站都用這個。ftp://- 用來下載檔案。file://- 直接存取本機檔案(在瀏覽器中較少使用)。
舉例:
https://www.example.com → 這是一個安全的 HTTP 請求,主機是 www.example.com。
主機(Host)
域名
最常見的是域名,例如 example.com 或 blog.example.co.uk。
子網域
你可以在前面加上子網域來區分功能:
api.example.com用於 API 服務。admin.example.com是管理後台。
埠號(Port)
協議預設埠號通常隱藏在 URL 裡,例如 HTTP 預設是 80,HTTPS 是 443。若要改用非標準埠,就要明確寫出:
http://www.example.com:8080/path → 指定 8080 埠。
IPv4 / IPv6
有時候你會直接看到 IP 位址:
http://192.168.1.10/(IPv4)https://[2001:db8::1]/(IPv6,注意方括號)。
路徑(Path)+ 查詢字串 + 片段
路徑(Path)
路徑告訴伺服器你想要哪個檔案或資源。它以 / 分隔,像是資料夾結構:
/blog/posts/2025/08/21.html → 這個位於 blog/posts/2025/ 資料夾中的 HTML 檔。
查詢字串(Query String)
查詢字串用來傳遞參數給伺服器,格式是 ?key=value&key2=value2。常見於搜尋或排序:
/search?q=URL+設計&page=2 → 搜尋關鍵字為「URL 設計」,翻到第二頁。
片段(Fragment)
片段是前端定位,瀏覽器不會把它送給伺服器。你常見於單頁面或長篇文章:
/blog/post-1.html#section-3 → 直接跳到 section-3 的位置。
綜合實例
把上述所有部分放在一起,完整的 URL 可能是這樣子:
https://shop.example.com:8443/products/42?ref=ad_campaign#reviews
- 協議:
https→ 安全 HTTPS。 - 主機:
shop.example.com:8443→ 子網域shop,埠號 8443。 - 路徑:
/products/42→ 商品編號 42 的頁面。 - 查詢字串:
?ref=ad_campaign→ 傳遞參考來源資訊。 - 片段:
#reviews→ 跳到評論區塊。
小結
- 協議是「走哪條路」的指示;
- 主機告訴你「往哪個伺服器去」;
- 路徑、查詢字串跟片段則決定「拿什麼資料」以及前端顯示的位置。
記住這三大部份,未來寫 URL 或檢查 SEO 時,就能快速判斷結構是否符合最佳化原則。
