Bernhard: URL "normalisieren"

Beitrag lesen

Hi!

Daher: Wegen der Abwärtskompatibilität?
Nein, dann wäre URL als deprecated markiert.

Wieso sollte URL deprecated sein? Das Konzept existiert nach wie vor. Früher hat man halt die generalisierte Variante (URI) noch nicht gekannt/implementiert/was auch immer.

URLs sind URIs die Resourcen auf eine direkt auflösbare Weise identifizieren. Die enthaltene Information reicht aus, um eine Verbindung aufzubauen und die Resource zu laden. Deswegen hat URL auch eine Methode openConnection, die URI nicht hat.
URLs (im sinne der Java-Klasse) sind zudem immer absolut und normalisiert.
Wenn man einfach mir URIs arbeiten muss in den verschiedenen möglichen varianten, sollte man also die URI-Klasse verwenden.
Sobald man eine zugehörige Resource abrufen will, muss man dann eine URL daraus erzeugten (mit toURL()). Das geht natürlich nur bei URI-Instanzen, die absolut sind und eben URLs im Sinne des RFCs sind.

Alles schön und gut, aber: Warum verhindert das, dass URL von URI abgeleitet sein sollte?

Gruß
Bernhard