Parse the URL
- set aside { protocol, port }, ignore { path, search, target }
- if !protocol; = "https", = ["http", "https"] if hostname = "localhost"
- if !port; = "443" if "https", = "80" if "http", = "" anything else
- if protocol = "javascript", skip search terms
- If ERROR, skip search terms
determine "root" domain (name + Public Suffix List) full domain = URL.hostname Penultimate domain = root - 1 label (min "root" domain)