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.org.cn
-
主机是
developer.mozilla.org
。端口未指定,但如果通过https:
访问,则默认为 443。 https://127.0.0.1:8080
-
主机是
localhost
,端口是8080
。localhost
是一个特殊的主机名,浏览器会将其解析为本地地址127.0.0.1
。 postgresql://postgres:admin123@db:5432
-
主机是
db
,端口是5432
。它还指定了一个用户postgres
及其密码admin123
。这可用于连接到 PostgreSQL 数据库。 https://cnn.example.com&[email protected]
-
一个看起来指向可信网站的误导性 URL。但是,主机名是
10.0.0.1
,cnn.example.com&story=breaking_news
部分是“用户”。