说明 · 识别网址中的 www
www|识别网址中的 www
将完整网址分成方案、主机、路径、查询和片段,只有主机里的 www 标签决定这一种地址形式。
将完整网址分成方案、主机、路径、查询和片段,只有主机里的 www 标签决定这一种地址形式。
直接答案
识别网址中的 www
将完整网址分成方案、主机、路径、查询和片段,只有主机里的 www 标签决定这一种地址形式。
网页基础
操作顺序
- 复制完整地址
- 读取 hostname
- 与路径和查询区分
- 修改单一部分
- 解释输出变化
复制到本地的练习代码
const inputs = ["https://www.example.com/a/", "https://example.com/?q=www#intro"];
inputs.map(x => { const u = new URL(x); return [u.hostname, u.pathname, u.search, u.hash]; });数据透明度
本篇依据
先问 www 出现在哪里
复制完整地址后,先找方案后面的主机,不要在整段文本里搜索三个字母就下结论。用下方代码解析示例,它不会发起网络请求。
- https://www.example.com/a/:主机带 www。
- https://example.com/?q=www:查询含 www,主机不带。
区分标签与完整主机
www 是一个标签,www.example.com 才是这里的完整主机名。docs.example.com 也可以提供万维网页面;替换最左标签改变的是目的地主机,不是万维网协议。
- 记录 hostname 的完整值。
- 别把 https:// 当作域名的一部分。
保留路径再分享
如果要分享特定文档,主机之后的 /guide/ 等路径同样重要。去掉路径会把读者送到不同资源。片段可能定位章节,查询可能带来页面筛选,不能不加判断地全部删除。
- 先判断哪些内容是必要定位信息。
- 避免分享带有私人令牌或个人参数的地址。
自测与边界
把示例主机改成 example.com,再运行解析;预期 hostname 改变。只把查询由 q=www 改成 q=web 时,预期 hostname 不变。若相对 URL 缺少基础地址,URL 构造器可能报错。
- 解析成功只验证字符串结构。
- IANA 示例域名的路径不被当作实际服务。
常见问题