【问题标题】:Can we expect a browser javascript API to a DNS resolver?我们可以期待 DNS 解析器的浏览器 JavaScript API 吗?
【发布时间】:2013-07-29 13:44:18
【问题描述】:

我们可以合理地期望 API 访问浏览器自己的 DNS 解析器吗?如果不是,为什么?

我知道一些可用的解决方法(使用远程代理的 HTTP 封装、使用浏览器插件),但这些方法要么不能利用浏览器的缓存(通常是系统的缓存),要么需要潜在的不受欢迎的依赖项在用户的客户端上。

我已经阅读了有关该问题的安全方面的大量信息,但没有人真正说服我。仅仅是没有人提出并推动 WHATWG/W3C 下的规范,还是真的有充分的理由反对这样的 API?

相关问题:

【问题讨论】:

  • +1 反对反对票。这是一个很好的问题,你已经证明你已经搜索了答案。虽然我认为这些答案是决定性的,但可能值得扩展您的问题以包含您的用例,因为也许还有其他选择。
  • 谢谢;我非常具体的用例涉及解析包含对主机的引用的 SRV 记录,然后脚本可以向其发出 XHR 请求(使用 CORS)。我会扩展,但我担心这会给问题增加一点噪音,我相信任何人都可以想到一些更简单的示例,其中查询 DNS 服务器会很有用(javascript 网络工具,...)。

标签: javascript browser dns


【解决方案1】:

在 W3C 列表上第二次(现在正确)挖掘。

这是在 2011 年 5 月讨论过的。我在其他相关列表中,也没有在 WHATWG 上找到任何其他内容,所以我现在假设这是目前的情况(截至 2013 年 7 月)。

总结一下:

  • 存在合理的担忧,
  • 尚不清楚它们是否无法克服,
  • 尚未向 W3C 或 WHATWG 提交正式提案,
  • 可能首先需要浏览器供应商的支持,因为该功能似乎很重要,
  • 需要一组用例。

PS:还找回了bug条目中提到的F​​reenode上的logs for the discussion at #whatwg;它似乎并不直接相关(尽管我确实很快扫描了它)。

编辑:哦,关于 WebSockets 的潜在用途;它仍然没有利用浏览器/系统缓存,您仍然需要一个代理服务器来进行 WebSockets HTTP 握手。

更新:sysapps working group 正在为正确的 raw socket API 编写规范,该规范将同时支持 UDP 和 TCP。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 2019-10-03
    相关资源
    最近更新 更多