URL Parser
貼上網址即時解析 Protocol、Host、Port、Path、Query String、Hash 等完整組成。
支援 Query Parameters 表格解析、網域分析、URL 結構圖、健康檢查。
URL 常見問題 FAQ
Q1: URL、URI、URN 有什麼差別?
URI(Uniform Resource Identifier)是統一資源識別碼,為最上層概念,用來唯一識別一個資源。
URL(Uniform Resource Locator)是統一資源定位符,不僅識別資源,還告訴你如何取得它(透過網路位置)。
URN(Uniform Resource Name)是統一資源名稱,僅識別資源但不提供位置資訊。
簡單來說,所有的 URL 都是 URI,但並非所有 URI 都是 URL。例如 https://example.com/page 既是 URI 也是 URL,而 urn:isbn:0-486-27557-4 是 URI 但不是 URL。
Q2: Query String 和 Fragment 有什麼不同?
Query String(查詢字串)以 ? 開頭,包含以 & 分隔的鍵值對(如 ?name=gary&id=123)。Query String 會發送給伺服器,常用於搜尋參數、篩選條件、分頁資訊等。
Fragment(片段識別碼)以 # 開頭,不會發送給伺服器,只在瀏覽器端使用。常用於頁面內部錨點(跳轉到特定區塊)、SPA 路由狀態等。
範例:
https://example.com/page?query=hello#section-2
• ?query=hello → 伺服器收到
• #section-2 → 僅瀏覽器使用
Q3: 什麼是 TLD(頂級網域)?什麼是 Subdomain?
TLD(Top-Level Domain,頂級網域)是網域中最後一個部分,如 .com、.org、.tw、.co.uk 等。由 ICANN 管理。
Second Level Domain(二級網域)是 TLD 前一個部分,通常是網站的主要名稱。例如 example 在 example.com 中。
Subdomain(子網域)是二級網域前的部分,用於劃分不同的服務區域。例如 blog 在 blog.example.com 中,api 在 api.example.com 中。
對於 blog.example.co.uk:
• Subdomain: blog
• Domain: example
• TLD: co.uk
Q4: URL 中的 Port(連接埠)是什麼?預設埠號是多少?
Port(連接埠)是網路通訊中用來區分不同服務的數字標籤,範圍從 0 到 65535。當 URL 中不指定 Port 時,瀏覽器會使用預設埠號:
• HTTP:80
• HTTPS:443
• FTP:21
• SSH:22
例如 https://example.com:8080/path 中的 8080 就是非標準埠號,常用於開發階段的測試伺服器。非標準埠號需要在 URL 中明確指定。
Q5: URL 中的 Username 和 Password 是做什麼的?安全嗎?
URL 中的 Username 和 Password 格式為 https://user:pass@host/,屬於 HTTP Basic Authentication 的 URL 編碼方式。早期常用於瀏覽器直接傳遞認證資訊。
⚠️ 安全風險:
• 密碼以明碼顯示在 URL 中,容易被竊聽或洩漏。
• URL 可能被瀏覽器歷史記錄、伺服器日誌、Referer 標頭等記錄下來。
• 現代瀏覽器已逐步淘汰 URL 中的密碼認證方式。
建議:不要在 URL 中包含認證資訊,改用 Authorization 標頭或 Cookie 進行認證。
Q6: 什麼是 URL Encoding(Percent-Encoding)?
URL Encoding(又稱 Percent-Encoding)是將 URL 中的特殊字元轉換為 % 後接兩位十六進位碼的機制。這是因為 URL 中某些字元具有特殊含義(如 ? 開始 Query String、# 開始 Fragment),如果需要在這些部分中使用字面值,必須進行編碼。
常見編碼:
• 空格 → %20
• # → %23
• ? → %3F
• & → %26
瀏覽器會自動對 URL 進行編碼,這也是為什麼在網址列中貼上含中文的 URL 時會看到 %E4%B8%AD%E6%96%87 這樣的形式。
Q7: 本工具會將我的 URL 資訊上傳到伺服器嗎?
完全不會。本工具是純前端應用,所有的 URL 解析、網域分析和健康檢查都在您的瀏覽器中本地完成,沒有任何資料被傳送到伺服器。即使離線狀態下也能正常運作,請放心使用任何敏感的網址。
網址結構完全指南:從 URL 到 Query String 的深度解析
URL 的完整組成結構
一個完整的 URL 遵循以下格式:
- Scheme(協定):告訴瀏覽器使用何種協定連線,如 https、http、ftp、mailto。
- User:Password@(認證):可選的 HTTP Basic Authentication 資訊。
- Host(主機):伺服器的網域名稱或 IP 位址。
- Port(連接埠):可選,指定伺服器的連接埠號。
- Path(路徑):伺服器上資源的路徑,可包含檔案名稱與副檔名。
- Query String(查詢字串):以 ? 開頭,包含鍵值對參數。
- Fragment(片段):以 # 開頭,指向頁面內的特定位置。
URL 解析在 Web 開發中的應用
精確解析 URL 在 Web 開發中有著廣泛的應用場景:
- 路由設計:前端 SPA 框架(如 React Router、Vue Router)需要解析 URL 來決定渲染哪個元件。
- API 開發:後端 API 需要從 URL 中提取路徑參數和 Query String 來處理請求。
- SEO 優化:URL 結構直接影響搜尋引擎排名,清晰的 URL 路徑和參數設計有助於提升 SEO。
- 安全分析:檢測 URL 是否包含惡意參數、釣魚網站的偽裝手法(如 IDN Homograph Attack)。
- 資料擷取:從第三方網址中提取有用資訊,如電商商品 ID、社群貼文 ID 等。
- 重導向與代理:URL 解析是實現 URL 重寫、反向代理和 CDN 路由的基礎。
URL 安全:如何辨識惡意網址?
URL 解析對於網路安全至關重要。以下是幾種常見的惡意 URL 手法:
- IDN Homograph Attack:使用視覺相似的字元(如用「google.com」中的西里爾字母「g」冒充 "google.com")。
- URL 偽裝:在 URL 中加入
@符號,讓前面的文字被視為 Username,實際連接到 @ 後的網站。 - 雙層編碼:對 URL 進行兩次 Percent-Encoding,繞過安全過濾器。
- 過長 URL:將惡意參數藏在極長的 Query String 中,超出安全檢查的掃描範圍。
本工具的 URL Health Check 功能可以幫助您快速識別上述部分風險。