(我对RESTFul不熟悉,如果我的概念有误,请纠正我)
在 RESTFul 架构中,我们将每个操作映射到一个 URL。如果我点击“发布文章”,它可能实际上是 URLhttp://example.com/
和一些数据action=post&content=blahblah
。
如果我想发布,但不刷新整个网页,我可以使用 javascript 的 XMLHTTPRequest。我发布它,然后获取它的内容并将其插入到我页面中的 div 中。这些动作都是异步的。
然后我知道有一些东西叫做WebSocket
wrapper socket.io
。它使用“消息”在客户端和服务器之间进行通信。当我单击“发布”时,客户端只需调用socket.send(data)
并等待服务器的client.send(data)
. 这很神奇。但是 URL 呢?
可以同时使用这两个模型而不重复自己吗?换句话说,每个动作都有它的 URL,其中一些可以与用户实时交互(通过 socket.io?)
此外,我应该这样做吗?在一个非常互动的网络程序(例如游戏)中,RESTFul 仍然有意义吗?