语法
host
host:port
user@host
user@host:port
主机-
主机通常是托管资源的服务器的域名或 IP 地址。域名使用域名系统解析为 IP 地址。
port可选-
端口是一个数字,表示服务器正在监听请求的端口。它是可选的,对于 HTTP 默认为 80,对于 HTTPS 默认为 443。其他方案可能定义自己的默认值或将其设为必需。
user可选-
用户是可选的,用于身份验证目的。在 Web URI 中不常用。
警告:不建议直接在 HTTP URL 中提供用户信息,因为这可能会泄露敏感信息。请使用其他方法,如 HTTP 身份验证或会话 Cookie。有时,网络钓鱼网站会通过显示误导性 URL 来欺骗用户,这些 URL 的“用户”部分看起来像域名,这被称为语义 URL 攻击。
描述
考虑以下 URL
http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
在这种情况下,权限是 www.example.com:80,由主机名(特别是域名)和端口组成。

www.example.com 是 URI 的主机名,指示正在请求哪个 Web 服务器。这里我们使用域名,但也可以使用主机的IP 地址。由于 IP 地址不太方便且更难记住,因此通常使用域名,除非服务器没有注册域名。

:80 是 URL 的端口,指示用于访问 Web 服务器上资源的“技术入口”。如果 Web 服务器使用 HTTP 协议的标准端口(HTTP 为 80,HTTPS 为 443)来授予对其资源的访问权限,则通常会省略它。否则,它是必需的。
示例
https://mdn.org.cn-
主机是
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部分是“用户”。
规范
| 规范 |
|---|
| 未知规范 # section-3.2 |