是否可以使用WebAssembly发出DNS请求或获取域名的IP地址?如果不在网站上,那么通过浏览器插件怎么办?
我已经看到,即使浏览器本身具有该数据,JavaScript也不允许进行DNS请求,甚至无法获取您连接的域的当前IP。
我还看到您可以在Node.js中发出DNS请求,所以我想知道,因为WebAssembly具有与浏览器内JS不同的功能集,它还具有一些服务器端功能来实现以下功能: DNS请求或侦听浏览器的DNS响应?
答案 0 :(得分:1)
不。 没有专门用于WebAssembly的API。 The MVP spec甚至没有稳定的应用程序API或WebAssembly的内置库(他们正在努力将某些功能添加为MVP后功能)。 WebAssembly二进制文件本身目前仅可以进行纯计算。
目前可以安全地假设所有系统功能都是通过使用Javascript模拟实现的。具体来说,它们是通过importing JS code in to WebAssembly modules完成的。因此,JS引擎无法实现的是WebAssembly无法实现的。
安全是他们的主要关注点。 WebAssembly团队adding more system features的工作重点是线程和SIMD等计算功能,而不是可能会破坏沙箱的专有系统功能。因此,我不希望它们会添加低级访问权限,例如处理DNS请求和在浏览器中公开真实文件系统。