Partindo do pressuposto que um push notification parte de um servidor, sem necessariamente haver uma requisição via client, não seria correto dizer que hoje em dia, é possível que uma requisição HTTP possa partir de ambas as pontas?
Partindo do pressuposto que um push notification parte de um servidor, sem necessariamente haver uma requisição via client, não seria correto dizer que hoje em dia, é possível que uma requisição HTTP possa partir de ambas as pontas?
Do lado de quem está enviando um push notification, nada mais é do que uma requisição HTTP sim. O Google faz esse serviço de push notification, então ele tem uma aplicação do lado dele que consegue se comunicar com seu telefone usando requests.
Neste caso então não é o servidor lançando uma requisição ao client? A resposta da questão restringe a comunicação em http dizendo que apenas o client pode disparar a requisição. Isto está realmente correto? A resposta correta não seria " Quando trabalhamos com HTTP, a comunicação é sempre iniciada pelo lado do cliente que envia uma requisição ao servidor em busca de uma resposta. Mas em alguns casos, o servidor também pode enviar uma requisição ao cliente."?
No caso de push notification, a aplicação que faz o push notification que é o client e o celular é quem recebe a tal requisição.
Exato, dependendo do momento que o processo da aplicação se encontra, os papéis podem se inverter. Mas com Websockets sim, o canal seria de mão dupla, fugindo do modelo request/response, mas aí já não é mais HTTP.
Pelo que eu entendi, quando há uma Push Notification a comunicação é algo como Client-Client, pois o Servidor assume papel de Cliente e não espera uma resposta. Estou certo?
Então Icaro, na verdade quando você manda uma msg push para o servidor da apple ou google vc tem sim uma confirmação de que chegou, creio que entre Apple e google e o celular tb deva haver algum tipo de confirmação sim. A resposta de uma requisição não necessariamente implica em abrir ou receber um conteúdo HTML, veja o exemplo dos WebServices ou caso conheça o mundo Java, ao efetuarmos uma requisição a uma servlet qualquer que faça algo no server as vezes recebemos apenas o status 200 OK da requisição e simplesmente o resto todo em branco... entende? Sempre há a requisição e a resposta para quem requisitou, o que e se vai fazer algo com isso é outra história.
Sim, me equivoquei kkkkk. Toda requisição espera uma resposta, né?