URL, URI, URN what's the difference?

URL, URI and URN are widely used terms when we talk about the web, although they seem to be the same, there is a slight difference between each one of them. Lets take a look at URIs first. According to Wikipedia URIs are:

"A uniform resource identifier (URI) is a string of characters used to identify a name of a web resource"

The key to understanding is a string of characters, URIs are a concept of how to identify things on the web.

There are many ways to identify something, for instance, you can use a name, a location or even a description of the object. In the web it works just the same, you can identify resourses by name or by it's location and we have a name for each method: URN (Uniform Resourse Name) and URL (Uniform Resource Location) respectively.

So, how does each one work in real world? Lets say I want to refer to the book "Rework", I can do this using the ISBN scheme URN: isbn: 0307463745, which will identify the exact book I'm taking about or in case I want to tell you about where to buy it, I can point to the HTTP scheme URL:

Filipe Ximenes

Founder & Chief Technology Officer