Mat*_*att 8 ajax rest real-time websocket
我目前正在使用Node构建实时应用程序.我正在使用socket.io来支持我的实时交互,但是加载了jQuery,所以我可以使用AJAX.我最初使用socket.io来完成服务器和客户端之间的所有通信.
我开始认为AJAX可能更适合某些情况,例如异步执行RESTful事务,因为我不必在我的套接字中编写单独的消息案例来处理每个新事务以及编写RESTful路由.
我想知道我是否正在使用某种东西,或者是否最好使用套接字来提高性能或其他我不会考虑的东西.
谢谢!马特穆勒
Jon*_*nas 11
是的,WebSockets(RFC 6455)和Ajax完全不同,用途不同.
正如您所说,使用Ajax,您可以执行RESTful请求.这意味着您可以利用现有的HTTP基础架构,例如代理缓存请求和使用条件获取请求.Ajax请求可能非常重,因为每个Ajax请求都包含HTTP头并包含cookie.
WebSockets专为低延迟双向通信而设计.按照设计,WebSockets在每条消息中的开销很小.例如,WebSockets消息不必包含任何HTTP标头,并且将来可能用于双向VoIP和流式传输.
另一个区别是Ajax可以与无状态服务器一起使用.例如,如果您的Web负载与多个服务器平衡,则任何服务器都可以处理Ajax请求,即使在重新启动(或升级)之后也是如此.Websocket是"连接"并使用有状态服务器,因此使用多个服务器可能更难.
还有服务器发送事件,类似于WebSockets,因为服务器可以将数据推送到客户端(这不能通过Ajax完成而没有黑客攻击(例如彗星)),并且它还可以处理自动重新连接.但它只适用于一个方向的消息(服务器到客户端).请参阅HTML5服务器端事件:EventSource与包装的WebSocket.
| 归档时间: |
|
| 查看次数: |
1063 次 |
| 最近记录: |