Dart中http和HttpClient的区别

19
我正在尝试理解dart:io库中的http packageHttpClient class之间的区别。我的目的是知道何时应该使用哪个。我看到它们都被用来完成相同的事情。
我看到了以下问题和答案:
- 在package:html、dart:html、dart:io(类HttpClient)和package:http API之间进行选择以获取HTTP资源 - 如何使用HttpClient在Dart中进行HTTPS请求? - 在Dart控制台应用程序中,是否有不需要DOM访问的HTTP请求库? - 如何在Dart命令行HttpClient中进行POST 这是我目前认为正确的,但我对此的理解还很模糊:
  • http 是高级别的,而 HttpClient 是低级别的(来源
  • http 可以发起 post 请求,但 HttpClient 不能(来源
  • 无论是 http 还是 HttpClient(带有 HttpClientRequest),都可以进行 GET 和 POST 请求(来源
  • 无论是客户端还是服务器端,都可以使用 httpHttpClient

因此,总结一下,我认为每个工具都可以像另一个工具一样做任何事情,但使用 http 包更容易,因为它更加高级别。这个总结正确吗?

1个回答

31

http包是对dart:iodart:html的抽象封装。

因此,如果你想在浏览器和其他平台之间共享用于发出HTTP请求的代码,最好使用http包。这样,代码就可以在任何地方正常工作。

如果您不关心浏览器,则可以使用您喜欢的API。在Flutter中,http包只是dart:ioHttpClient的封装。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接