An Uniform Resource Locator (URL) is the term used to identify an Internet resource, and can be specified in a single line of text.
An Uniform Resource Name (URN) is the term used to identify an Internet resource, without the use of a scheme, and can be specified in a single line of text.
An Uniform Resource Identifier (URI) is used by a browser to identify a single document, and it too can be specified in a single line of text.
The difference between the three is subtle. An URL refers to a Web page, including the scheme, but without a name location. An URN may also include the location of a code fragment. An URI refers to a Web page including the location of the code fragment, if one exists, and the scheme.
Because Web servers allow for default documents and do not require a scheme to retrieve a document, the subtle difference between an URL and an URN and an URI is hard to tell. URL is now used as the generic term.
Additional information on URL specification may be found here.