基于Web的实时通信与REST模式不兼容吗?
Web应用程序在过去几年中经历了巨大的范式转变.
十年前(不幸的是甚至现在),网络应用程序只能在重量级的服务器上生活,处理从数据到表示格式的所有内容,并发送给只提供服务器(浏览器)输出的哑客户端. 然后,AJAX加入了游戏,Web应用程序开始变成在服务器和浏览器之间生活的东西. 在AJAX的高潮期间,Web应用程序逻辑开始完全在浏览器上运行.我认为这是HTTP RESTful API开始出现的时候.突然间,每一个新服务都有其RESTful API,并且突然之间,JavaScript MV *框架开始像爆米花一样弹出.移动设备的使用也大大增加,REST适合这些场景.我在这里说“亲切的RESTful”,因为几乎所有声称是REST的API都不是.但这是一个完全不同的故事. 其实我成了一种“REST传福音”. 当我认为网络应用程序不能演变得更多时,一个新的时代似乎是曙光:状态持久连接的网络应用程序. 我非常希望有实时模型更新,例如,但仍然具有所有的REST awesomeness. 所以我的问题是: 基于Web的实时通信与REST模式不兼容吗? (对于很长的介绍性文本,但是我认为这个问题在某些情况下才会有意义) 解决方法
只要你没有移动,状态持久tcp / ip连接的Web应用程序是伟大的.
我已经开发了一个基于Web的实时框架,根据我的经验,我发现使用基于移动设备的网络浏览器时,我从塔到塔,Wi-Fi到Wi-Fi都不断变化. 当IP地址不断变化时,持久连接的概念会很快地消失. 实时Web应用程序的框架必须被设计为假设连接将是暂时的,并且框架必须实现自己的会话概念,而到后端的底层IP连接不断变化. 一旦会话被定义并在客户机和服务器之间的所有请求和响应中使用,一个实质上具有“web连接”.现在,可以使用REST模式开发实时的基于Web的应用程序. 框架的后端服务器必须智能地排队更新,而IP地址正在进行转换,然后在重新建立tcp / ip连接时同步. 简短的答案是,“是的,您可以使用REST范例实现基于Web的实时应用”. 如果你想玩一个,让我知道. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |