tigtools

URL 解析器

貼上 URL,即可查看各個部分,以及解碼後的查詢參數列表。編輯參數並複製重新組合的 URL。

在瀏覽器中執行 免註冊

使用方式

  1. 貼上完整 URL,並包含 https:// 或其他通訊協定。
  2. 查看元件表格。使用複製按鈕取得單一部分,例如主機名稱或路徑。
  3. 查看查詢參數:值會以解碼後的形式依原有順序顯示,同名參數也會保留。
  4. 變更、新增或移除參數,然後複製重建後的 URL。

運作方式

此工具使用瀏覽器內建的 URL 剖析器(WHATWG URL Standard),因此結果與瀏覽器開啟連結時的處理方式一致。URL 也會以相同方式正規化:通訊協定和主機名稱會轉為小寫、https 的 443 等預設連接埠會移除,而 /a/../b 等路徑則會解析為標準形式。

顯示的部分包括通訊協定(scheme)、URL 含有憑證時的使用者名稱和密碼、含連接埠的主機、主機名稱、連接埠、路徑、以 ? 開頭的查詢字串、以 # 開頭的片段,以及來源(通訊協定、主機和連接埠)。瀏覽器會使用來源進行同源安全性檢查。密碼會隱藏,直到您按下眼睛按鈕。

查詢參數會使用 URLSearchParams 讀取。值會進行百分比解碼,並如 HTML 表單提交資料一樣將 + 視為空格。同一參數若出現多次,例如 size=42&size=43,會依序分別列出,因為許多伺服器會將它們視為清單。

編輯參數時,也會使用 URLSearchParams 重建查詢字串。這可能會改變未編輯部分的寫法:空格會寫成 +,而 ' 或 ~ 等字元的跳脫方式也可能不同。對於以表單編碼格式讀取查詢的伺服器而言,內容的意義不會改變。

含有非 ASCII 字元的主機名稱(國際化網域名稱)會由 URL 剖析器轉換為 punycode,例如 münchen.de 會變成 xn--mnchen-3ya.de。工具會同時顯示這兩種形式。

範例

檢查追蹤參數

貼上活動追蹤連結,例如 https://example.com/?utm_source=newsletter&utm_medium=email&utm_campaign=spring+sale,即可查看解碼後的每個 utm_ 值(「spring sale」),移除不需要的參數,再複製整理後的連結。

除錯重新導向 URL

登入連結中含有 redirect=https%3A%2F%2Fapp.example.com%2Fdashboard%3Ftab%3D2。參數表會顯示解碼後的值 https://app.example.com/dashboard?tab=2,讓您確切知道使用者會被導向何處。

查找 CORS 的來源

對於 https://api.example.com:8443/v1/users?id=7,其來源為 https://api.example.com:8443。Access-Control-Allow-Origin 標頭必須與這個字串完全一致,且不包含路徑或結尾斜線。

常見問題

host 和 hostname 有什麼不同?

hostname 僅包含網域或 IP 位址(example.com)。URL 若指定非預設連接埠,host 也會包含連接埠(example.com:8443)。https://example.com:443/ 的 host 和 hostname 都是 example.com,因為 443 是 https 的預設連接埠,會被移除。

為什麼我的 URL 顯示缺少通訊協定的錯誤?

若沒有 https:// 等通訊協定,example.com/page 就不是絕對 URL;而 example.com:8080 甚至會被解析為通訊協定為「example.com」的 URL。工具會提供新增 https:// 的選項。

為什麼參數值中的 + 會顯示為空格?

查詢字串通常會以表單資料(application/x-www-form-urlencoded)的方式讀取,其中 + 代表空格。若要傳送字面上的加號,必須寫成 %2B。URLSearchParams 和大多數伺服器架構都是如此處理。

同名參數會如何處理?

所有同名參數都會保留原有順序,並各自顯示一列。移除一列只會刪除該次出現的參數。

什麼是 punycode?

DNS 僅支援 ASCII 主機名稱,因此國際化網域名稱會編碼為以 xn-- 開頭的標籤。例如,bücher.example 會以 xn--bcher-kva.example 傳送。瀏覽器通常會在網址列顯示易讀的形式。

隱私權

URL 會由瀏覽器內建的 URL 解析器處理。不會向該 URL 發出任何請求,您貼上的內容也不會上傳、儲存或納入分析資料。