javascript - 来自 Javascript 的 REST 调用 VS ASP.NET Controller REST 调用

标签 javascript asp.net-mvc rest controller

我是 REST 世界的新手。我正在编写一个 ASP.NET MVC 应用程序。我的要求是从客户端进行一些 REST 调用。我可以选择从 Javascript 进行这些 REST 调用,也可以在 Controller 中的 C# 代码中执行此操作。推荐哪种方法?根据我的理解,Controller运行在Web Server上,Javascript运行在浏览器上。那么,如果从 Web 服务器进行 REST 调用,性能是否会下降。

有人可以建议我这方面的一般做法吗?有同样的安全问题吗?

谢谢

最佳答案

让我们考虑一下在服务器端进行此操作的利弊

优点:

  • 您可以利用服务器的功能对数据进行其他处理
  • 您不会像在 ajax 中那样受到跨域限制
  • 通常,您不必担心服务器是否能够访问资源,而在客户端上,您会受到用户网络限制、防火墙等的影响
  • 更好地控制您的 http 响应\请求生命周期

缺点:

  • 您将不得不消耗更多带宽将结果数据发送到客户端。
  • 您可能需要做更多的工作才能利用良好的缓存实践
  • 取决于是否拥有某些服务器端库\框架元素

现在,尽管我们的优点比缺点多得多...在大多数情况下,您仍然希望在客户端上执行此操作...因为双重处理数据的问题实际上是一个非常大的问题,并且会花费您时间和金钱。

实际上应该在服务器端执行此操作的唯一原因是,如果您需要对数据进行大量处理,或者无法规避 CORS(跨域)限制。

如果您只是做一些简单的事情,例如在网页上显示信息,那么客户端是更好的选择。

关于javascript - 来自 Javascript 的 REST 调用 VS ASP.NET Controller REST 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13642677/

相关文章:

javascript - 混合 Razor 和 Javascript : Assigning a number from Model to a Javascript variable in a view

c++ - 使用 Libcurl 将非常大的字符串发送到使用 REST API 的服务器?

javascript - Array.push 与 Array.unshift 的性能对比

javascript - 在 Chrome 扩展 "popup"上打开/焦点

javascript - 用于标签属性的 Angularjs ng-repeat 项目

asp.net-mvc - 在 ASP.NET MVC Controller 中要覆盖哪个 View()?

javascript - Jquery Focus 不适用于输入

asp.net - 将MVC5项目升级到MVC6

asp.net-mvc - Web API和ASP MVC之间的主要区别是什么

javascript - AngularJS/NodeJS/RESTEasy+JBoss/LDAP 堆栈的身份验证机制