Javascript 从CDN或应用服务器(RoR、node.js等)提供html/jss/css应用程序?

Javascript 从CDN或应用服务器(RoR、node.js等)提供html/jss/css应用程序?,javascript,ruby-on-rails,node.js,cdn,Javascript,Ruby On Rails,Node.js,Cdn,我正在做一个富internet应用程序(html/js/css),它必须通过XHR/Websocket与后端应用程序服务器(RoR或node.js)通信 我想知道向web浏览器提供RIA文件的最佳方式是什么:CDN或RoR/node.js作为静态文件服务器 由于同源策略,后者是否使浏览器无法与后端服务器通信 谢谢您自己就可以托管这些文件了。使用connect 如果您想利用缓存,可以从cdn请求流行的JavaScript文件。而且很受欢迎 但是您自己的个人HTML/CSS文件应该位于静态文件服务

我正在做一个富internet应用程序(html/js/css),它必须通过XHR/Websocket与后端应用程序服务器(RoR或node.js)通信

我想知道向web浏览器提供RIA文件的最佳方式是什么:CDN或RoR/node.js作为静态文件服务器

由于同源策略,后者是否使浏览器无法与后端服务器通信


谢谢

您自己就可以托管这些文件了。使用
connect

如果您想利用缓存,可以从cdn请求流行的JavaScript文件。而且很受欢迎


但是您自己的个人HTML/CSS文件应该位于静态文件服务器上。(如果您愿意,可以使用nginx等其他工具通过子域为这些服务)

同源策略适用于请求,而不是静态文件

您可以访问www.test.com

$.get('api.someotherorigin.com/things.json', function(res){
    // I'll get a same origin policy error
});
这就是为什么人们在这些情况下使用getJSON/jsonp。它甚至适用于子域,这取决于事物的设置方式

cdn的好处是从一个没有Cookie的、通常是地理位置优化的源为您的静态文件提供服务。在开发过程中,您几乎肯定不需要这个


以后的好处是,您可能只会在一个位置上有几个服务器(或只有一个),这可能有利于一个位置上的人,并为不亲近的人提供糟糕的RTT。此外,您的域可能会有用于身份验证、会话ID等的Cookie——如果您使用cdn,您可以避免在后续的每个静态文件请求中发送这些Cookie,从而减少所有请求/响应的大小。

因此,如果我没有读错,这意味着CSS和静态HTML应该来自Apache(或其他什么)以及node的动态内容?@drachenstern ryan dahl自己说node.js作为静态文件服务器的性能不高。他建议您改用nginx)