Se um aplicativo já tiver sido aberto WebSocket
para feeds ao vivo, devo usá-lo AJAX
para outras comunicações com o servidor?
Como a conexão já está aberta, devemos usá-la para solicitações que Request/Response
não são em tempo real?
Prefiro RESTful HTTP
solicitações porque as acho mais fáceis de depurar. Você pode usar um navegador com URLs ou cachos para testar o que a API retorna. Você não precisa escrever um código para abrir a WebSocket
.
Seria estranho ter RESTful HTTP API
um WebSocket
na mesma aplicação?
rest
ajax
websockets
Marc
fonte
fonte
Respostas:
Um dos principais objetivos de design do Websockets é permitir que os protocolos HTTP e Websocket sejam comunicados na mesma porta. Isso é possível exigindo explicitamente que um cliente execute um handshake Websocket com uma solicitação de Atualização HTTP. Dessa maneira, o servidor pode manipular uma conexão de solicitação HTTP padrão, bem como uma solicitação de Atualização HTTP que agora é atualizada para uma conexão duplex bidirecional persistente.
Então, sim, este é definitivamente um caso de uso válido, no entanto, se você DEVE fazer isso para a sua aplicação específica, é um assunto totalmente diferente. Os Websockets são úteis e fazem sentido nos cenários em que o servidor deve ter a capacidade de enviar dados não solicitados ao cliente (feeds ativos). O protocolo HTTP e os serviços REST são úteis onde você deseja bloquear a solicitação síncrona de dados do cliente.
Se seus requisitos são tais que ambos fazem sentido para o seu aplicativo, você deve usar os dois. Se, no entanto, sua única interação com o servidor for baseada em feed ao vivo, os serviços REST não serão adequados. Acho que a facilidade de depuração deve ter uma importância bastante baixa em termos de Atributos de Qualidade do Sistema nos quais você deve arquitetar seu design.
fonte