It is confusing to a lot of people, but they aren't functionally interchangeable.<p>Basically you have Uniform Resource Locators (URLs), Uniform Resource Names (URNs), and Uniform Resource Identifiers (URIs). You also have International Resource Identifiers (IRIs), which are URIs with rules allowing for international character sets in things like host names.<p>Every URN and URL is a URI.
However, not every URI is a URN, or a URL.<p>A URN has a specific scheme (the front part of a URI before the :), but it does not contain instructions on how to access the identified resource. We humans might automatically map that to an access method in our head (e.g., digital object identifier URNs like doi:10.1000/182, which we who have used DOIs know maps to <a href="http://dx.doi.org/10.1000/182" rel="nofollow">http://dx.doi.org/10.1000/182</a>), but the instruction isn't in the URN.<p>A URL is not just an identifier but also an instruction for how to find and access the identified resource.<p>For example <a href="http://example.org/foo.html" rel="nofollow">http://example.org/foo.html</a> says to access the web resource /foo.html by using the HTTP protocol over TCP to connect to IP address which example.org resolves to, on port 80.<p>An example of URIs which are not URLs are the MIME content ids used to mark the boundaries within an email (cid scheme), e.g., cid:foo4%25foo1@bar.net.<p>You can get more information at:
<a href="https://tools.ietf.org/html/rfc2392" rel="nofollow">https://tools.ietf.org/html/rfc2392</a>