代码之家  ›  专栏  ›  技术社区  ›  Aaron Daniels

主机vs DnsSafeHost

  •  39
  • Aaron Daniels  · 技术社区  · 17 年前

    从MSDN:

    Uri.DnsSafeHost属性

    一个字符串,其中包含未转换的 适合的URI的主机部分 未转换的主机字符串(如果是)

    vs

    包含主机名的字符串。 这通常是DNS主机名或 服务器的IP地址。

    localhost . 即使我输入127.0.0.1,两者都会返回 本地服务器 .

    继续读下去 DnsSafeHost 属性将处理IPv6地址,以及Unicode到ASCII的转换(如果需要)。它还可以解释IRI和IDN。即使我现在不关心这些事情,我是否应该使用 财产是否安全?

    1 回复  |  直到 17 年前
        1
  •  49
  •   Community Mohan Dere    4 年前

    DnsSafeHost 如果您打算自己将生成的主机名发送到DNS服务器,请将其添加到URL。DNS最初是一个仅限ASCII的协议( and a subset of ASCII at that )。当前URL的允许URL主机部分中的字符序列不能直接发送到DNS服务器。例如:

    • bracket-enclosed IPv6 addresses . DnsSafeHost放下支架。

    • 非ASCII、非英语域名。DnsSafeHost(可选)使用 RFC 3987 IRI 规范化字符,并将非ASCII字符转换为 IDN , Punycode 编码。

    • 谁知道将来会允许什么URL?应用程序很可能比我们对URL中的内容的假设更有效。DnsSafeHost增加了一定程度的弹性。

    主办

    推荐文章