A URL (Uniform Resource Locator) is a specific type of URI (Universal Resource Identifier). A URL normally locates an existing resource on the Internet. A URL is used when a Web client makes a request to a server for a resource.
The concepts of the URI and the URL are defined by the Internet Society and IETF (Internet Engineering Task Force) Request for Comments document RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax (http://www.ietf.org/rfc/rfc2396.txt). Briefly, a URI is defined as any character string that identifies a resource. A URL is defined as those URIs that identify a resource by its location or by the means used to access it, rather than by a name or other attribute of the resource.
Host names can also be followed by a port number. Port numbers explains more about these. Well-known port numbers for a service are normally omitted from the URL. Most servers use the well-known port numbers for HTTP and HTTPS , so most HTTP URLs omit the port number.
scheme://host:port/path?query
http://www.research.ibm.com/software/htp/cics/index.html
If
a port number was specified, the URL would be:http://www.research.ibm.com:1030/software/htp/cics/index.html
A URL can be followed by a fragment
identifier. The separator used between the URL and the fragment identifier
is the # character. A fragment identifier is used to point a Web browser to
a reference or function within the item that it has just retrieved. For example,
if the URL identifies an HTML page, a fragment identifier can be used to indicate
a subsection within the page, using the ID of the subsection. In this case,
the Web browser normally displays the page to the user so that the subsection
is visible. The action taken by the Web browser for a fragment identifier
differs depending on the media type of the item and the defined meaning of
the fragment identifier for that media type.
Other protocols, such as File Transfer Protocol (FTP) or Gopher, also use URLs. The URLs used by these protocols may have a different syntax to the one used for HTTP.