Adresy URL zawsze mają ten format:
<protocol>://<host>[:<port>]/[<path>][#<hash>]
Problem polega na tym, że IPv6 używa dwukropków, podobnie jak separator portu i hosta, np .:
2001:db8:1f70::999:de8:7648:6e8
Ale co, jeśli jest to host i chcę się z nim połączyć za pomocą protokołu HTTP na porcie 100?
http://2001:db8:1f70::999:de8:7648:6e8:100/
Problemem jest ostatni dwukropek. Ponieważ zero jest pomijane w podwójnych dwukropkach (między 1f70 a 999), nie wiadomo, czy „: 100” należy do adresu IP lub numeru portu. Skąd możemy to wiedzieć?