5

我有一个客户端-服务器应用程序,其中服务器是一个 Ruby on rails 应用程序,它呈现 JSON 并理解 RESTful 请求。它由 nginx+passenger 提供服务,地址是 api.whatever.com。

客户端是一个使用这些服务的 Angular js 应用程序(whatever.com)。它由第二个 nginx 服务器提供服务,它的地址是whatever.com。

我可以将 CORS 用于跨子域 ajax 调用,也可以将客户端的 nginx 配置为 proxy_pass 请求到 rails 应用程序。

哪一个在性能方面更好,对开发人员和服务器管理员的麻烦更少?

4

1 回答 1

4

除非您是 Facebook,否则您不会注意到额外的反向代理会对性能造成任何影响。开销很小。它基本上是解析一堆字节,然后通过本地套接字将它们发送到另一个进程。Nginx 中的反向代理很容易设置,不太可能成为管理负担。

您应该更多地担心浏览器支持。几乎所有浏览器都支持 CORS,当然 Internet Explorer 和一些移动浏览器除外。

Juvia使用 CORS,但回退到 JSONP。没有反向代理设置。

于 2013-03-15T14:54:05.733 回答