Why do we care?
What is a URL?
Don't be concerned if this is confusing gibberish. There is still a good deal of ongoing debate on the exact definition of URL and related terms. I can try to share my sense of what folks generally mean when they speak of a URL, but bear in mind that it is still somewhat vernacular.
- URL is an anagram of Universal (or Uniform) Resource Locator.
- URI is an anagram of Universal (or Uniform) Resource Indicator.
- URN is an anagram of Universal (or Uniform) Resource Name.
- URC is an anagram of Universal (or Uniform) Resource Citation.
As I currently interpret the arguments, a URL is the address of a location in virtual space: e.g.,
<http://vineyard.net/vni/faq/>
or
<ftp://vineyard.net/software/>
A URI is a broader term. All URL are URIs. URI's also include addresses like:
<mailto://vni@vineyard.net>
Some will say that this mail address is also a URL, but while you can be pretty sure some one will receive messages sent via this URI, you have no way of knowing where it will end up, or even who will receive it. It could bounce through any number of redirection points before it gets to it's intended.
URN's and URC's are even more confusing. They are interesting because they offer the promise if being able to describe a far larger set of services, but opinions vary widely as to how they will be used.
For the sake of discussion, I'll just use 'URL.'
Why do we care?
The Universal addressing techniques simply provide a common means of writing down a wide variety of messages. In the past, as hacks dreamt up new things to do on the Net, they just made up addressing methods that were descriptive. It became apparent that life would be a lot easier if folks could agree on a common technique for writing these things down.
URL's are often enclosed in angled brackets, <>, to set them off from surrounding text (as I did above). This is done because it makes it a LOT easier for a computer program to parse a block of text and note that anything enclosed within a pair of angled brackets must be special.
URL's generally come in 3 parts:
<method>://<host>/<absolute path URL>
Yup, somewhat of a circular definition. So in the URL:
<http://vineyard.net/vni/faq/>
the method is "http", the host is "vineyard.net", and the absolute path is "/vni/faq/". http stands for HyperText Transfer Protocol (a web page). vineyard.net is actually the name of one of our machines, and /vni/faq is a path into a hard disk.
URL's are coming into more common use because more programs are becoming sophisticated about interpreting them. e.g., on my Mac many of the programs I use can interpret URLs. If I double-click on a URL, either the program I am in will deal with it, or a program which can will be run in order to handle the request.