js中host与hostname区别
星期六, 12月 28, 2024 | 1分钟阅读 | 更新于 星期六, 12月 28, 2024

location
对象的 host
和 hostname
属性在用途和内容上有所不同,以下是它们的区别:
1. host
- 定义 :返回页面完整的主机地址,包括域名和端口号(如果有)。
- 格式 :
hostname:port
(例如example.com:8080
)。 - 特点 :
- 如果 URL 中指定了端口号,则
host
会包含端口号。 - 如果没有指定端口号,返回的内容仅为域名或 IP 地址。
- 如果 URL 中指定了端口号,则
示例 :
console.log(location.host);
// 假设当前页面 URL 是 http://example.com:8080/path
// 输出:example.com:8080
2. hostname
- 定义 :只返回页面的主机名部分,不包含端口号。
- 格式 :仅域名或 IP 地址(例如
example.com
)。 - 特点 :
- 始终不包含端口号,即使 URL 中包含端口号。
示例 :
console.log(location.hostname);
// 假设当前页面 URL 是 http://example.com:8080/path
// 输出:example.com
总结对比
属性 | 内容 | 示例(http://example.com:8080/path) |
---|---|---|
host |
域名 + 端口号(如果有) | example.com:8080 |
hostname |
仅域名或 IP 地址,不含端口号 | example.com |
因此,当需要判断域名时,通常使用 hostname
;而如果需要包括端口号的信息,则应使用 host