URLs are one of the most ubiquitous formalized ways of specifying the place a program should look for a particular network resource. You're almost certainly familiar with URLs in a practical sense many of them look like this, for example: http://www.apple.com/. What you might not be aware of is that this string http://www.apple.com/ has meaning beyond simply specifying the name of a machine, www.apple.com, to which software should connect. The http:// part of the expression is also used, and specifies the connection protocol, which should be used for accessing this resource. Other connection protocols can be specified by the use of other prefixes before the machine name, such as ftp://.Technically, the URL actually has three parts: a protocol specifier (http, ftp, gopher, and so on), followed by a host specification, followed by a path, with the syntax <protocol>://<host><absolute path>. It is technically an error for the path to be empty, and as an absolute path, it must begin with a /. This means that URLs that you occasionally see as http://www.someplace.com are actually incorrect, and properly should be specified as http://www.someplace.com/. As a matter of fact, when you enter a URL that's missing the trailing / character into your web browser, the result is an error from the server browsers have just been written to disguise this fact from the casual computer user. Instead of returning the top of the website directory, as you might have come to expect when using a URL such as http://www.someplace.com, the web server returns an error indicating that your web browser might want to try a syntactically correct URL, and your browser is obliged to try again. This costs extra load on the server, extra data transmitted, and extra time all of which are annoying to someone at some level.
As we've pointed out previously, Unix is a particular and precise environment. Specifying www.apple.com as a URL to a web browser is sloppy and imprecise, and works only in certain cases in which the browser manufacturer has decided to write its software to try to compensate for poor habits on the part of the user.
A considerable amount of Unix software isn't written to support sloppy usage on the part of the user and requires that you enter complete and correct URLs, including the http://, or other prefix, part of the URL to function correctly.
Some recent Unix software is starting to go the route of the large browsers and support the sloppy usage without a specified protocol, but much still does not, and we don't believe this is a positive trend. We've made every effort to provide complete and correct URLs in the text here, and we hope that you'll get used to using them properly it will eventually save you a considerable headache when you meet an application that requires you to be as precise as it is.