Gli URL hanno sempre questo formato:
<protocol>://<host>[:<port>]/[<path>][#<hash>]
Il problema è che IPv6 utilizza due punti, proprio come il separatore di porta e host, ad esempio:
2001:db8:1f70::999:de8:7648:6e8
Ma cosa succede se questo è l'host e voglio connettermi ad esso con HTTP sulla porta 100?
http://2001:db8:1f70::999:de8:7648:6e8:100/
Il problema è l'ultimo colon. Poiché gli zero vengono omessi con due punti (tra 1f70 e 999), non si sa se ': 100' appartiene all'IP o al numero di porta. Come possiamo saperlo?