It’s the one thing when I’m configuring things that makes me wince because I know it will give me the business, and I know it shouldn’t, but it does, every time. I have no real idea what I’m doing, what it is, how it works, so of course I’m blindly following instructions like a monkey at a typewriter.
Please guide me into enlightenment.
They’re defined by the software that listens for incoming connections. For example, a wrb server will (by default) open a listening port on port 80, as that’s what is defined in the http standard. If said server supports https (which most of them do) it will also open a listening socket on 443.
It’s easy to reconfigure a wrbserver (or any other server) to listen on any other port instead, provided that it’s no already claimed by a different server software. The only caveats is that any clients that want to connect will have to specify the correct port. For example, if the webserver is instead running on port 1234, you’d type http://example.com:1234/ in the address field.
Ports are identified by their number which is in the range of 1 through 65535. The first 1024 ports are “official”, which can often be observed by the fact that most of the fundamental protocols that makes the internet function is in this range (http, https, ftp, ssh, dns, smtp, pop3, imap just to name a few). And on linux systems, opening a listening socket on a port below 1024 requires root privileges.
It’s worth noting that no port number is “better” than any other. Port 2 will work just as well as 22222. It’s just a way for a server to know which server software should receive the incoming packets.
A bit beyond what you’re asking, but I consider it a natural fuetherance thereof: you can talk to a wrbserver manually by using telnet. It’s easy, I just don’t remember the syntax in my head, but it’s an easy question for google.