URI 授權
URI 的**授權**是出現在方案之後、路徑之前的部分。它最多可能包含三個部分:使用者資訊、主機和埠。
語法
url
host
host:port
user@host
user@host:port
- 主機
-
主機通常是託管資源的伺服器的域名或 IP 地址。域名使用域名系統解析為 IP 地址。
- 埠 可選
-
埠是一個數字,指示伺服器正在監聽請求的埠。它是可選的,HTTP 的預設值為 80,HTTPS 的預設值為 443。其他方案可能定義自己的預設值或將其設定為強制。
- 使用者 可選
-
使用者是可選的,用於身份驗證目的。它在 Web URI 中並不常用。
警告:不建議直接在 HTTP URL 中提供使用者資訊,因為這可能會洩露敏感資訊。請改用其他方法,例如 HTTP 身份驗證或會話 cookie。有時,網路釣魚網站會透過顯示誤導性的 URL 來欺騙使用者,這些 URL 的“使用者”部分看起來像是一個域名,被稱為語義 URL 攻擊。
示例
https://mdn.club.tw-
主機是
developer.mozilla.org。埠未指定,但如果透過https:訪問,則預設為 443。 https://:8080-
主機是
localhost,埠是8080。localhost是一個特殊的主機名,瀏覽器會將其解析為本地地址127.0.0.1。 postgresql://postgres:admin123@db:5432-
主機是
db,埠是5432。它還指定了一個使用者postgres及其密碼admin123。這可用於連線到 PostgreSQL 資料庫。 https://cnn.example.com&story=breaking_news@10.0.0.1-
一個看起來指向可信網站的誤導性 URL。但是,主機名是
10.0.0.1,cnn.example.com&story=breaking_news部分是“使用者”。