A character string that specifies where a resource is located on the internet and the protocol to be used to retrieve it. Technically, a URL is a type of URI (Uniform Resource Identifier) but the two terms are often used interchangeably.
The syntax of a URL is:
scheme://domain:port/path?query_string#fragment_id
scheme – The protocol for retrieving the resource. On the web this is typically http (HyperText Transfer Protocol). Other protocols include https (HTTP Secure), ftp (File Transfer Protocol), etc. The scheme is not case sensitive.
// – A standard separator.
domain – The domain name (or IP address) where the resource is located. The domain is not case sensitive.
:port – The port number is optional and generally omitted on the web.
path – The path (directory and file structure) to locate the resource on the server. Although it is not always the case, it should be assumed that the path is case sensitive to avoid issues with certain servers.
?query – Data to be passed to a script running on the server or within the page.
#fragment_id – Used to link to a position within a page marked by a named HTML object such as an anchor. On the web, when a fragment_id is include the browser typically scrolls automatically to the location.

The structure of a URL