URI vs. URL

Album Cover: Various Positions

"Her beauty and the moonlight overthrew ya."
Leonard Cohen / Hallelujah

Posted on October 28, 2003 4:56 PM in Computers
Warning: This blog entry was written two or more years ago. Therefore, it may contain broken links, out-dated or misleading content, or information that is just plain wrong. Please read on with caution.

I am a posting machine today! Anyway, for a while now I've been quite confused about the difference between URLs (Uniform Resource Locators) and URIs (Uniform Resource Identifiers). I finally decided to do a little research and try and identify the distinction. I found the following at the W3C's Contemporary View of Uniform Resource Identifiers:

"...a URL is a type of URI that identifies a resource via a representation of its primary access mechanism (e.g., its network "location"), rather than by some other attributes it may have. Thus as we noted, "http:" is a URI scheme. An http URI is a URL. The phrase "URL scheme" is now used infrequently, usually to refer to some subclass of URI schemes..."

However, as is typical with W3C documents and specs, there's a little too much technical mumbo-jumbo floating around in that explanation to satisfy anyone who doesn't balance their checkbook in binary, so I kept looking. Kenneth Fly's Web Site provides provided the following:

"URI stands for Universal Resource Identifier and URL stands for Universal Resource Locator. Often times people use the terms interchangably, which is not entirely correct. A URL is a subset of the URI popular protocols. These are protocols (http://, ftp://, mailto:). Therefore all URLs are URIs. The term URL is deprecated and the more correct term URI is used in technical documentation. All URIs are means to access a resource on the Internet and are a a technical short hand used to link to the resource. URIs always designate a method to access the resource and designate the specific resource to be accessed."

So...my terminology is apparently way out-dated and I need to start saying "URI" instead of "URL." Why? Because anything that has been deprecated is bad news (remember the evil <blink> tag?). Now I know, and knowing is half the battle.

Comments

Paulson on September 02, 2004 at 3:43 AM:

This is a very useful info page! Thanks! You explained it the way one really expects to get their doubts cleared.

Permalink

One on November 04, 2004 at 1:21 AM:

very nice work and thanks a lot.

Permalink

khacz on December 03, 2004 at 7:03 PM:

exactly what was needed to clear up the issue... convinced as per usual that folks create terminology primarily to confound and confuse, but this research helped unravel the mystery. thanks.

Permalink

Prof. Dino Baskovic on December 08, 2004 at 6:25 PM:

Not so fast, folks: "Universal" or "Uniform"? I see both instances used all the time. Which is it? Anybody that can shed some authortative light on this will win praise from my students and me. -DB

Permalink

Bernie Zimmermann on December 15, 2004 at 8:56 PM:

Professor Dino, it's definitely "Uniform," not "Universal." If you don't believe me, compare the number of results returned in a Google search for "URL stands for uniform" vs. "URL stands for universal" (being sure to include the quotes) and you'll see the difference.

Permalink

Prof. Dino Baskovic on December 16, 2004 at 10:47 PM:

You are most correct, and the W3C is very clear on this. I'd be interested to learn why people often mistake it as "universal" though, as was evident in the snippet from the Kenneth Fly Web site as posted above:

URI stands for Universal Resource Identifier and URL stands for Universal Resource Locator.

Either way, the difference between URN, URL and URI is important, but only to an extent as far as the average user is concerned--in other words, they don't care and will spit back any more acronyms our industry throws at them. Heck, we can't even get 'RSS' straight :)

Permalink

jmrSudbury on January 27, 2005 at 9:14 AM:

I did the google search and found the following:

"URL stands for universal" gave me 874
"URL stands for uniform" gave me 11,500
"URL" gave me 204,000,000

"URI stands for universal" gave me 55
"URI stands for uniform" gave me 146
"URI" gave me 7,090,000

So, while uniform is much more popular than universal, the we has it's worrk cut out for them to convert from url to uri. My guess is that most people are concerned with finding the right location then clicking a link to get to the ftp:// or other protocol.

Permalink

Chandra Kanth Varanasi on March 28, 2005 at 2:37 AM:

The Information is Exactly what i wanted.. Hats of to you Bernie for that example.

Permalink

Kameaha`aweokaponia on March 28, 2005 at 2:31 PM:

I arrived at this site via google. I was in a similar dilemma as others have been, so I googled, "What is the difference between URI and URN."

So, that's how it is that I arrived here. I read your discussion and was very thankful for the directness of your explanation.

Unfortunately, I made the mistake of reading your visitors' posts... and I became -- not confused -- let's just say, "curious!" <g>

So, I returned to my google search to see what others had to say... and I believe I discovered the source of the Universal vs. Uniform confusion.

Tim Berners-Lee wrote (Article written by T.B.L. circa 1993), incorrectly, that a URI stands for "Universal Resource Identifier" while also noting, correctly, that URL stands for "Uniform Resource Locator."

After reading his article, I was more "curious!" <g> So, I kept digging and found RFC 2396, also authored by the WWW King himself (in 1998). This time, however, URI is a "Uniform Resource Identifier!"

So I have written this "tome-post" to conclude 2 distinct points. Firstly, the U in URI, URL and URN stands for "Uniform" in all three cases. Secondly, if Mr. Berners-Lee can get it wrong (at least once), then we all should feel good about being in the company of an entrepreneur such as he!

Permalink

compo perez on April 26, 2005 at 7:46 AM:

Very interesting poit,
I found this page that can be usefull for you, people:

Glosary: (http://compnetworking.about.com/library/glossary/bldef-uri.htm)

"A URI is a standard global identifier for an Internet resource that may be local or remotely-accessible. URIs follow the same general syntax as URLs; in fact, URLs are one type of URI.

Whereas URLs always refer to network addresses (including a protocol specification, host name or address, and local path), a URI does not necessarily refer to a remote resource. For example, the URI file:///c:/ specifies a local directory. Because file does not refer to any specific network protocol, this URI is not also a URL. "

Permalink

Ben on May 05, 2005 at 9:09 AM:

Ok.. that last post explains it best. A URL is a type of URI, and the difference is that URL's point to network resources, whereas a URI is a schema that can identify any resource.

Permalink

Sanju Thomas on June 14, 2005 at 8:44 AM:

Really informative.

Permalink

wisbin on July 18, 2005 at 5:14 PM:

A URI is just the most specific identifier. Most Universal ;)

example URI: http:***//www.benzilla.com /item.html***#ancor

the URL is the same, but without the name specification. Like http:***//www.benzilla.com /item.html

If you take out the http: part from the URI, you would call it a URN (uniform resource Name). That part is called the scheme and could be http: ftp: file: etc.
A URN may also include the location of a code fragment, but doesn't specify the scheme (protocol). Like www.benzilla.com /item.html***#ancor


TIP: just talk about the "identifier" when you wanne look smart... :p

Permalink

Bernie Zimmermann on July 19, 2005 at 2:02 AM:

Thanks for the extra information, wisbin, but who is this benzilla guy? ;)

Permalink

srilatha on November 10, 2005 at 11:45 AM:

Differences between website and URL.

Permalink

manoj on December 28, 2005 at 4:53 PM:

yeah, this information is really more understandable than others as i searched out in many sites. Finally this definition clears my all doubts... n we can u use anything in the place of U in URI or URL , either "uniform" or "universal".. Both constitutes the same meaning...

Permalink

Mark on January 09, 2006 at 6:09 PM:

Thanks for the info!

Permalink

Gregory McCoy on January 21, 2006 at 12:26 PM:

Your link to Kenneth Fly's Web Site, above, is dead.

Permalink

Bernie Zimmermann on January 21, 2006 at 1:16 PM:

Thanks for pointing that out, Gregory. I've removed the dead link.

Permalink

Shrikant Gutta on March 30, 2006 at 4:36 PM:

Thnks for such a nice distinction, previous google search pages kind of confused me, but your explanation seems to make sense most.

Permalink

Internet on April 15, 2006 at 9:12 PM:

Thanks for the information!

Permalink

Sumit on April 26, 2006 at 11:48 PM:

Hey gr8 work guys...Thanks a lot for such a valuable information in a very simple manner...

Permalink

imran on April 30, 2006 at 10:34 PM:

very good

thumbs up :)

Permalink

Megha on May 17, 2006 at 5:04 AM:

Every URL is a type of Uniform Resource Identifier (URI), or, more precisely, the set of URLs is a proper subset of the set of URIs. A URI identifies a particular resource while a URL both identifies a resource and indicates how to locate it.

Permalink

Sujith mysore on June 17, 2006 at 1:00 AM:

hey.....
i had a big confusion on the difference between url and uri but now its cleared.
It so happens that most of the people are still unaware of the term uri and url in regard.
thanks anywaz...

Permalink

Richard Halon on June 28, 2006 at 7:19 PM:

Thanks for the info -- URI it is!

Permalink

elizabeth on July 13, 2006 at 10:38 AM:

thank you.
Elizabeth

Permalink

Miami Dot on July 21, 2006 at 6:46 AM:

No thanks. I shall keep using the term URL till the sun turns supernova.

Sometimes bazaar colloquilism should be allowed to triumph over regimentally precise language. No one in the executive realm knows what I mean when I say URI. I would get the tilted-head dog blank stares if I try to explain URL vs URI. Since we programmers are a small dot in the large corporate world and the executive realm pays my paycheck - their preference for terminology rules.

Permalink

luckyhuss on August 03, 2006 at 3:24 AM:

Check this RFC out for complete info :

http://www.faqs.org/rfcs/rfc2396.html

Permalink

strindberg on August 13, 2006 at 9:24 AM:

Have a look at the Wikipedia article for a good explanation of this:

http://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Relationship_to_URL_and_URN

And disregard Kenneth Fly and wisbin as sources of information. They get more things wrong than right.

Also, the relevant RFC as of August 2006 is #3986 (it obsoletes #2396): http://tools.ietf.org/html/rfc3986

Anyway, thanks for posting about this. I was curious myself, and I think I've got it now.

Permalink

Post Comments

This post has been locked. Commenting is no longer allowed.