我是 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/