A URL (Uniform Resource Locator), as the name suggests, provides a way to locate a resource on the web, the hypertext system that operates over the internet. The URL contains the name of the protocol to be used to access the resource and a resource name. The first part of a URL identifies what protocol to use. The second part identifies the IP address or domain name where the resource is located.
A URL is the most common type of Uniform Resource Identifier (URI). URIs are strings of characters used to identify a resource over a network.
URL protocols include HTTP (Hypertext Transfer Protocol) and HTTPS (HTTP Secure) for web resources, "mailto" for email addresses, "ftp" for files on a File Transfer Protocol (FTP) server, and telnet for a session to access remote computers.
A URL is mainly used to point to a webpage, a component of a webpage or a program on a website. The resource name consists of:
- A domain name identifying a server or the web service; and
- A program name or a path to the file on the server.
Optionally, it can also specify:
- A network port to use in making the connection; or
- A specific reference point within a file -- a named anchor in an HTML (Hypertext Markup Language) file.
For example, http://www.ietf.org/rfc/rfc2396.htm specifies that:
- The resource is to be retrieved using the HTTP protocol (which powers the web) via a web browser;
- The resource is reached through the domain name system (DNS) name, which could be a single server, a load-balanced cluster of servers or a service running on a system with a different name); and
- The path to the specific resource is /rfc/rfc2396.htm.
In the following example, the URL would retrieve the file at the point marked with the named anchor "index": http://www.ietf.org/rfc/rfc2396.htm#index
The following example -- https://delphicoracle.gr:45678/Prohesy?year=2020 -- specifies:
- Use of the encrypted (secure) version of HTTP: HTTPS;
- Use of a nonstandard port (45678) for the communication; and
- Invocation of a program, "Prohesy" with parameter "year" set to value "2020".
Finally, this example -- ftp://www.somecompany.com/whitepapers/widgets.ps -- specifies use of the FTP protocol to download a file.