There is no random port for http servers.... It is 80 by default (but configurable) for http. Don't ever put people in the wrong position that they start to believe there is something like an http server running on a random port. You have to write code for that. And it doesn't work without a client that also knows the port number. Hence it does not work without pcap or the likes to discover where it connects. (possible, but illogical)
zero means 80 in this case. As Synapse does of course do correctly.
After a handshake on the correct port (which is configurable) any further traffic can be on a "random"port chosen by the server. But the initial handshake is prescribed by the protocol.
Also note ports up to 1024 is a nonsensical remark.... Go over 10.000, not just 1024, and it has nothing to do with linux or windows. It is about governing bodies prescribing/reserving ports for protocols.... <sigh>v See proxy port for over 1024: it's 8080... <sigh, sigh, silly>