I know that (at least in bitcoin) nodes talk to each other opening sockets to communicate if I'm not wrong.
Each piece of software on a PC has to open a socket to communicate with a network.
What If I would create a cryptocurrency, but communicating over HTTP protocol, for example using JSON post request. I know that this would be potentially slower due to an extra layer of the HTTP protocol.
I don't see any pro argument for building a cryptocurrency on top of HTTP. You would just require everyone to additionally run a web server to be able to communicate with the network.
There is no necessity for something like this.
But could it work?
Well, theoretically you can do each communication over HTTP but this doesn't give you any advantage. Just disadvantages.
Would it make sense?
No, note at all. At least not in my eyes.
What exactly were you trying to do? Which problem of BTC are you trying to solve with this method?