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

发布于 2024-11-09 20:01:16 字数 203 浏览 2 评论 0 原文

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

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

后者不是会因为同源策略而导致浏览器无法与后端服务器通信吗?

谢谢

I'm doing a rich internet application (html/js/css) which has to communicate with a backend application server (RoR or node.js) through XHR/Websocket.

I wonder what the best way is to serve the RIA files to the web browsers: CDN or RoR/node.js as static file servers?

Does't the latter make it impossible for the browser to communicate with the backend server due to the same origin policy?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

坚持沉默 2024-11-16 20:01:16

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

您在 www.test.com

$.get('api.someotherorigin.com/things.json', function(res){
    // I'll get a same origin policy error
});

这就是人们在这些情况下使用 getJSON/jsonp 的原因。它甚至适用于子域,具体取决于事物的设置方式。

CDN 的优点是可以从无 cookie、通常经过地理定位优化的源提供静态文件。几乎可以肯定,在开发过程中您不需要这个。

稍后的好处是,您可能只会在一个位置放置几台(或一台)服务器,这可能有利于某个位置的人们,而对于不亲近的人来说,RTT 会很差。此外,您的域可能会有用于身份验证、sessionid 等的 cookie——如果您使用 cdn,您可以避免将这些 cookie 与静态文件的每个后续请求一起发送,从而减少所有请求/响应的大小。

Same origin policy applies to requests, not static files.

You are on www.test.com

$.get('api.someotherorigin.com/things.json', function(res){
    // I'll get a same origin policy error
});

This is why people use getJSON/jsonp in these cases. It even applies to subdomains, depending on how things are set up.

A cdn has the benefits of serving your static files from a cookieless, often geolocation optimized source. You almost certainly don't need this during development.

The benefits later on are that you are likely going to have only a few servers (or just one) located in a spot that may favor people in one location and give a crappy RTT for folks not close. Additionally, your domain is going to likely have cookies for authentication, sessionid, etc etc -- if you use a cdn, you avoid sending these cookies along with every single subsequent request for static files, reducing the over all request/response sizes.

隱形的亼 2024-11-16 20:01:16

只需自己托管文件即可。您可以使用 connect connect 轻松提供静态文件

。 static

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

但您自己的个人 HTML/CSS 文件应该位于静态文件服务器上。 (如果需要,您可以使用其他东西,例如 nginx 来通过子域提供服务)

Just host the files yourself. You can serve static files quite easily using connect

connect.static

You may request popular JavaScript files from a cdn if you want to take advantage of caching. jscdn and google cdn are popular.

But your own personal HTML/CSS files should be on a static file server. (You can use something else like nginx to serve those through a sub domain if you want )

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文