一个 URL 中有两个 TLD

一个 URL 中有两个 TLD

单个 URL 中的域名是什么,例如以下假设的示例?

http://example.com/google.com/?q=http://example.net&#id=http://example.org&

http://google.com.example.com/file.example.com#666

第二个例子与网络钓鱼诈骗类似,外行人可能会对此产生误解。浏览器知道一个域名与其他域名之间的区别;我没有测试过,但我没有看到浏览器对安全 URL 产生错误判断。一个域名是 DNS 服务器查找 IP 以将 URL 发送到托管它的服务器的域名;DNS 会忽略其他域名,以便路由到正确的 IP 地址。这可能定义了差异,但这不是一个方便的命名方案。

答案1

URL 被分成几个部分。假设语法如下:

scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

除此之外,我通常将主机分为域和子域,但我不确定这是否是任何官方命名方案。

这样,您可以将示例分为以下几个部分:


http://example.com/google.com/?q=http://example.net&#id=http://example.org&

  • 方案:http
  • 主持人:example.com.
  • 领域:example.com.
  • 小路:google.com
  • 询问:q=http://example.net&
  • 分段:id=http://example.org&

http://google.com.example.com/file.example.com#666

  • 方案:http
  • 主持人:google.com.example.com.
  • 领域:example.com.
  • 子域名:google.com
  • 小路:file.example.com
  • 分段:666

对于 DNS,仅使用主机。然后,您向服务器传达路径和查询。您的浏览器会处理该片段,将您滚动到正确的页面或显示或隐藏内容。

在上面的例子中,请注意某些域名后面的点。这意味着它们是域名的结尾,或 TLD(顶级域名)。子域名没有这个,因为它们不是完整的引用。您也可以在 DNS 记录中看到这一点:

demo.example.com.   3600    IN      A               12.34.56.78
localhost           3600    IN      A               127.0.0.1
www                 3600    IN      CNAME           demo.example.com.
ftp                 3600    IN      A               12.34.56.78

这些 DNS 记录将产生以下主机:

  • demo.example.com,解析为 12.34.56.78
  • localhost.example.com,解析为 127.0.0.1
  • www.example.com,解析为 demo.example.com,后者解析为 12.34.56.78
  • ftp.example.com,解析为 12.34.56.78

相关内容