(Я не знаком с RESTFul, пожалуйста, поправьте меня, если моя концепция неверна)
В архитектуре RESTFul мы сопоставляем каждое действие с URL-адресом. Если я нажму "опубликовать статью", это может быть на самом деле URL http://example.com/
и некоторые данные action=post&content=blahblah
.
Если я хочу опубликовать, но не обновить всю веб-страницу, я могу использовать javascript XMLHTTPRequest. Я отправляю его, а затем получаю его содержимое и вставляю его в div на моей странице. Эти действия являются асинхронными.
Тогда я знаю, что есть что-то с именем WebSocket
и оно обертка socket.io
. Он использует "сообщение" для связи между клиентом и сервером. Когда я нажимаю "post", клиент просто вызывает socket.send(data)
и ждет сервер client.send(data)
. Это волшебство. Но как насчет URL?
Можно ли использовать две модели без повторения? Другими словами, каждое действие имеет URL-адрес, и некоторые из них могут взаимодействовать с пользователем в режиме реального времени (через socket.io?)
Кроме того, должен ли я это сделать? В очень интерактивной веб-программе (например, в играх) RESTFul по-прежнему имеет смысл?