I thought of the following scheme, but it would be helpful if someone who has implemented something like this could comment on it:
Well that's how giants like Whatsapp and Telegram works.
So I guess this idea is pretty good. You can think about the HTTPS part: http as a whole is rather an heavy protocol; so might be a good idea using another, lees heavy, transmission protocol like MQTT.