Here’s an example URL:
scheme://host.domain.tld/path/file.ext
This matches most of the URLs that you will ever encounter on the Web; don’t nitpick it too much – there can be hanging directories, portnumbers, user:password@host... additions and even full-blown URIs, but overall it’s a pretty good example.
But there’s an open problem – the URL syntax does a very good job of abstracting and separating the scheme, the host/location and the path/resource – but it assumes a unified name lookup service. A URI assumes that there is essentially only one host.domain.tld, and that it is resolvable in the DNS – except this is not exactly correct, and is likely soon to be very wrong.
Examples:
- Dot-P2P: peer-to-peer name resolution – though the wiki seems moribund
- Tor: Tor Hidden Services
- I2P: Invisible Internet Project
Examples of the above:
– are not like content-addressable Magnet Links because (obviously) we are not talking about content-based addressing; instead the magic cryptobabble represents a real machine to which a real connection is made, and over which real HTTP is spoken; so this challenge is not addressable by futzing with the scheme (tor-http://...)
The tactic so far has been to create fake top-level-domains like .onion – which is great, and even has historical precedent, but even though the recent approval of the .XXX top level domain is causing a ruckus, it seems pretty likely that more and financially-attractive-to-ICANN top level domains will arise.
This would flatten-out the DNS in a manner akin to UUCP or BITNET – where intra-domain hierarchies represent some clan-like hierarchical granularity, but between domains anything would be possible; I could call dibs on www.alec.muffett and have my nameserver at ns0.alec.muffett, and my cousin could have www.duncan.muffett – but anyone with the surname “onion” cannot do this because they’ll clash with Tor.
Hence the Fake TLD is probably a bad mechanism. Maybe someone farsighted at the IETF would be interested in:
scheme://resolutionamespace::host.domain.tld/path/file.ext
…instead? Or ideally something ideally better than that grotesqueness?
Leave a Reply