Daniel Thoma: URL "normalisieren"

Beitrag lesen

Hallo Bernhard,

Daher: Wegen der Abwärtskompatibilität?

Nein, dann wäre URL als deprecated markiert.
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.

Grüße

Daniel