从CDN或应用程序服务器(RoR、node.js等)提供html/jss/css应用程序
Serve a html/jss/css application from CDN or application server (RoR, node.js etc)?
我正在做一个富互联网应用程序(html/js/css),它必须通过XHR/Websocket与后端应用程序服务器(RoR或node.js)通信。
我想知道将RIA文件提供给web浏览器的最佳方式是什么:将CDN或RoR/node.js作为静态文件服务器?
后者不是因为同源策略而使浏览器无法与后端服务器通信吗?
感谢
同源策略适用于请求,而不是静态文件。
您在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与后续对静态文件的每一个请求一起发送,从而减少所有请求/响应的大小。
只需自己托管文件即可。使用connect
可以很容易地提供静态文件
connect.static
如果您想利用缓存,可以从cdn请求流行的JavaScript文件。jscdn和googlecdn很受欢迎。
但是您自己的个人HTML/CSS文件应该在静态文件服务器上。(如果你想的话,你可以使用其他类似nginx的东西通过子域为它们提供服务)
相关文章:
- 使用connect vhost为多个express.js应用程序提供服务
- 使用Sails.JS为静态HTML/JS应用程序提供身份验证
- 如何从我的机器提供HTML + JS + CSS网络应用程序,以便其他人可以查看它
- 如何为PhoneGap应用程序提供两种不同的UX/UI
- 主队/客队,在主干.js应用程序中提供球员列表
- 在本地提供网络应用程序
- 它有一个库或Web服务,可以为我的javascript应用程序提供夏令时数据
- 将复杂内容(想想整个网页树)从一个 Web 应用程序提供给另一个网站的最佳可重用解决方案是什么?
- 如何使用 Node/Express 为我的 Web 应用程序提供服务
- 当gulp为应用程序提供服务时,如何在webstorm中调试Javascript
- 请建议我应该为我的应用程序提供哪种浏览器兼容性
- 我的java脚本为php web应用程序提供了各种错误,我找不到
- 为mvc 4应用程序提供社交媒体按钮设施
- Phonegap中的Dropbox Javascript Datastores API示例为Windows8应用程序提供
- 微风为用WebAPI构建的应用程序提供了什么价值?
- 使用pushState为backbone.js应用程序提供S3 web托管
- 使用pushState为backbone.js应用程序提供S3 web托管
- 如何在体系结构上使用JBoss API为AngularJS应用程序提供kerberos支持?
- 滑块在启动时为复杂的闪亮应用程序提供空值,并在输入更改时周期性地提供空值
- 我们可以为单页应用程序提供两个入口点吗?