There are many classic tech debates, and the question of what to formally call web addresses is one of the most nuanced. The way this normally manifests is someone asks for the “URL” to put into his or her browser, and someone perks up with:
Actually, that’s a URI, not a URL…
The response to this correction can range from quietly thinking this person needs to get out more, to agreeing indifferently via shoulder shrug, to removing the safety clasp on a Katana. This page is a simple summary of the situation.
What’s with all the different names?
The TL;DR here is that there are basically two types of Uniform Resource Identifier (URI):
- A name of something (URN) without a way to locate it.
- A name of a something (URN) with a way to located it (URL)
Wikipedia captures it well.
One can classify URIs as locators (URLs), or as names (URNs), or as both. A Uniform Resource Name (URN) functions like a person’s name, while a Uniform Resource Locator (URL) resembles that person’s street address. In other words: the URN defines an item’s identity, while the URL provides a method for finding it.
And here’s the RFC.
A URI can be further classified as a locator, a name, or both. The term “Uniform Resource Locator” (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g., its network “location”).
So if someone tells you that a URL is not a URI, they’re wrong. But that doesn’t mean all URIs are URLs. All butterflies fly, but not everything that flies is a butterfly.
What’s more accurate when talking about website addresses: URL or URI?
In my 20s I would have said it’s a URI and people calling it a URL are just being lazy and not properly respecting the Computer Gods. Raaaawwwrrr! In my 40s I think that’s silly, and that the purpose of language is communication.
Practically, there are two basic (URI) types—names by themselves, and names that include how to get to them. A URI refers to either one, while a URL requires that you have both.
So if someone asks whether
google.com is a URI or a URL, first determine why they’re asking the question.
If this is someone surrounded by Nerd Outlaws, with their hands twitching towards their six-shooters, the answer is that it’s technically a URI since you don’t have all the components for a URL.
But in the regular world—for most common situations—a URI like
google.com is effectively a URL because the scheme is implied.
- URIs are identifiers, and that can mean a resource name by itself, or a resource name with a method of getting to it.
- All URNs and URLs are URIs, but not all URIs are URLs.
- The part that makes something a URL is the combination of the name and an access method.
- URLs are best referred to as URLs instead of URIs because the term is 1) more specific and therefore more precise, and 2) it’s more common. In general, if there’s ever a tie regarding which term to use, go with the one that’s understood by more people.
Notes and references
- RFC 3986 by Tim Berners-Lee.
- RFC 2396.
- Wikipedia | URI.
- An explanation of the differences from damnhandy.com.
- There is some confusion in the RFC regarding whether URIs must include a scheme name or not. In Section 1.1.1 it says, “Each URI begins with a scheme name, as defined in Section 3.1, that refers to a specification for assigning identifiers within that scheme.”, but in Section 1.1.3 it says, “A URI can be further classified as a locator, a name, or both. The term “Uniform Resource Locator” (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g., its network “location”).”. My interpretation is that of 1.1.3.
- Another interesting point is the fact that Google Chrome is now purposely dropping the protocol from the display within the browser–which is in effect visually turning URLs into URIs.