1

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

有人可以建议我围绕这个的一般做法吗?是否有相同的安全问题?

谢谢

4

2 回答 2

1

让我们考虑一下做这个服务器端的利弊

优点:

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

缺点:

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

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

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

如果你只是做一些简单的事情,比如在网页上显示信息,那么客户端是更可取的。

于 2012-11-30T10:13:00.263 回答
0

这在很大程度上取决于您的情况。如果您简单地在页面中显示此数据而不进行任何操作,则可以从 javascript 获取它。如果您想处理这些数据,对其进行转换,将其与其他数据连接起来,我建议您在服务器上执行此操作,以便在服务器上获取此数据。

于 2012-11-30T09:57:47.690 回答