发送HTML文件到WebSocket连接中是否是一种不好的做法?

8
我正在使用Node.js开发一个小型应用程序并使用MongoDB数据库,前端使用nginx处理静态文件和初始的index.html文件。

当我访问index.html时,所有的javascript/css/img文件都会被加载,并与node.js服务器建立websocket连接。

最初我的index.html是空的,需要填充正确的模板文件。我可以做的一件事是进行普通的ajax请求,使用$.get('myfile.html')获取内容并将其附加到我的内容中。websocket只处理数据库数据。


现在我已经有了一个打开的websocket连接到服务器,为什么不把html模板与从数据库中得到的数据一起传输到客户端,并在客户端上合并呢?

模板文件只是一些小的HTML片段,为什么要浪费一个http请求呢?


请注意,此应用程序仅由具有完全支持html5浏览器的选定用户使用,无需回退情况。


你尝试过Backbone.js吗? - zelk
是的,但我没有让同步功能正常工作。有一些在线示例,但它们看起来对我的需求过于复杂。我已经完成了大部分逻辑,我只想知道WebSocket是否可以用于HTML。 - Saif Bechan
1个回答

7
考虑到HTTP非常适合用于文件服务,缓存机制可以在多个层级中工作,为您服务,甚至不必向访问者发送任何HTML内容超过一次。我认为利大于弊。听起来你可以发送一个index.html和相关内容,并在index.html中使用模板(例如jQuery模板可以使用<script id="fooTemplate" type="text/x-jquery-tmpl">标签)。显然,您可以通过WebSocket发送模板。

谢谢你的回答,那正是我想做的。我甚至已经在使用jQuery模板,它运行得非常好。太棒了! - Saif Bechan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接