Any case where the three colons occur happens because someone just takes the IP address, prints a colon after it and the port, rather than just using existing libraries that do this right.
It is ambiguous. See this which could be either an address or address + port. 2001:db8:1::2:443
That is a valid address…expanded it would be 2001:db8:1:0:0:0:2:443
…but oh no, the intent was for it to be 2001:db8:1:0:0:0:0:2 with port 443…but you’d never know
The square bracket is the standard, eg. as the IP-literal from RFC3986 <https://datatracker.ietf.org/doc/html/rfc3986#section-3.2.2>.
Any case where the three colons occur happens because someone just takes the IP address, prints a colon after it and the port, rather than just using existing libraries that do this right.
Sure but is it actually ambiguous is what I wonder
It is ambiguous. See this which could be either an address or address + port. 2001:db8:1::2:443
That is a valid address…expanded it would be 2001:db8:1:0:0:0:2:443 …but oh no, the intent was for it to be 2001:db8:1:0:0:0:0:2 with port 443…but you’d never know
Yes good example. So it’s down to a game of “do I know all my ports.” 443, 22, 80, 5900, 8080, etc