Uniform Resource Locator

The relationship of URL to URI and URN

In computing, a Uniform Resource Locator (URL) is a Uniform Resource Identifier (URI) that specifies where an identified resource is available and the mechanism for retrieving it. In popular usage and in many technical documents and verbal discussions it is often incorrectly used as a synonym for URI.[1] The best-known example of a URL is the "address" of a web page on the World Wide Web, e.g. http://www.example.com.

Contents

History

The Uniform Resource Locator was created in 1994[2] by Tim Berners-Lee, Marc Andreessen, Mark P. McCahill, Alan Emtage, Peter J. Deutsch and Jon Postel, as part of the URI.[3] Berners-Lee regrets the use of dots to separate the route to the server in the URI, and wishes he had used slashes throughout.[4] For example, http://www.serverroute.com/path/to/file.html would look like http:com/serverroute/www/path/to/file.html. Berners-Lee has also admitted that the two forward slashes before the server route were unnecessary.[5]

Syntax

Every URL consists of some of the following: the scheme name (commonly called protocol), followed by a colon, then, depending on scheme, a hostname (alternatively, IP address), a port number, the path of the resource to be fetched or the program to be run, then, for programs such as Common Gateway Interface (CGI) scripts, a query string,[6][7] and with HTML documents, an anchor (optional) for where the page should start to be displayed.[8]

The combined syntax is
scheme://username:password@domain:port/path?query_string#anchor

Absolute vs relative URLs

By definition, a URL describes a location and means for obtaining a resource. The term "relative URL" is a contradiction of this definition but is often used to mean "relative URI".

URLs as locators

A URL is a URI that, "in addition to identifying a resource, provides a means of locating the resource by describing its primary access mechanism (e.g., its network location)".[9][10]

Internet hostnames

On the Internet, a hostname is a domain name assigned to a host computer. This is usually a combination of the host's local name with its parent domain's name. For example, en.wikipedia.org consists of a local hostname (en) and the domain name wikipedia.org. The hostname is translated into an IP address via the local hosts file, or the Domain Name System (DNS) resolver. It is possible for a single host computer to have several hostnames; but generally the operating system of the host prefers to have one hostname that the host uses for itself.

Any domain name can also be a hostname, as long as the restrictions mentioned below are followed. For example, both "en.wikimedia.org" and "wikimedia.org" are hostnames because they both have IP addresses assigned to them. The domain name "pmtpa.wikimedia.org" is not a hostname since it does not have an IP address, but "rr.pmtpa.wikimedia.org" is a hostname. All hostnames are domain names, but not all domain names are hostnames.

See also

References

  1. RFC 3305 "URI Partitioning: There is some confusion in the web community over the partitioning of URI space, specifically, the relationship among the concepts of URL, URN, and URI. The confusion owes to the incompatibility between two different views of URI partitioning, which we call the 'classical' and 'contemporary' views."
  2. Uniform Resource Locators (URL)
  3. URL Specification
  4. Berners-Lee, Tim. "Frequently asked questions by the press". http://www.w3.org/People/Berners-Lee/FAQ#etc. Retrieved 2010-02-03. 
  5. "Technology | Berners-Lee 'sorry' for slashes". BBC News. 2009-10-14. http://news.bbc.co.uk/1/hi/technology/8306631.stm. Retrieved 2010-02-14. 
  6. RFC 1738
  7. "PHP parse_url() Function". http://us.php.net/parse_url. Retrieved 2009-03-12. 
  8. URL Syntax
  9. Tim Berners-Lee, Roy T. Fielding, Larry Masinter. (January 2005). “Uniform Resource Identifier (URI): Generic Syntax”. Internet Society. RFC 3986; STD 66.
  10. by describing its primary access mechanism

External links