URL - Wikipedia
Jump to content
From Wikipedia, the free encyclopedia
Address on the World Wide Web
For other uses, see
URL (disambiguation)
URL
Uniform resource locator
Abbreviation
URL
Status
Published
First published
1994
; 32 years ago
1994
Latest version
Living Standard
2023
Organization
Internet Engineering Task Force
(IETF)
Committee
Web Hypertext Application Technology Working Group
(WHATWG)
Series
Request for Comments (RFC)
Editors
Anne van Kesteren
Authors
Tim Berners-Lee
Base standards
RFC
3986
– "
Uniform Resource Identifier (URI): Generic Syntax,
Internet Standard 66.
RFC
4248
– "
The telnet URI Scheme,
RFC
4266
– "
The gopher URI Scheme,
RFC
6068
– "
The 'mailto' URI Scheme,
RFC
6270
– "
The 'tn3270' URI Scheme,
Related standards
URI
URN
Domain
World Wide Web
License
CC BY 4.0
Website
url
.spec
.whatwg
.org
uniform resource locator
URL
), colloquially known as a
web address
is a reference to a
resource
on the
World Wide Web
. A URL specifies the location of a resource on a
computer network
and a mechanism for retrieving it. A URL is a specific type of
Uniform Resource Identifier
(URI),
although many people use the two terms interchangeably.
A URL is most commonly used to reference a
web page
HTTP
HTTPS
) but is also used for file transfer (
FTP
), email (
mailto
), database access (
JDBC
), and many other applications.
Most
web browsers
display the URL of a web page above the page in an
address bar
. As an example of a web page URL,
indicates protocol
https
hostname
www.example.com
, and file name
index.html
History
The Uniform Resource Locator was defined in
RFC
1738
10
in 1994 by
Tim Berners-Lee
, the inventor of the World Wide Web, and the URI working group of the
Internet Engineering Task Force
(IETF),
11
as an outcome of collaboration started at the IETF Living Documents
birds of a feather
session in 1992.
11
12
The format combines the pre-existing system of
domain names
(created in 1985) with
file path
syntax, where
slashes
are used to separate
directory
and
filenames
. Conventions already existed where server names could be prefixed to complete file paths, preceded by a double slash (
//
).
13
Berners-Lee later expressed regret at the use of dots to separate the parts of the
domain name
within
URIs
, wishing he had used slashes throughout,
13
and also said that, given the colon following the first component of a URI, the two slashes before the domain name were unnecessary.
14
Early
WorldWideWeb
collaborators, including Berners-Lee, originally proposed the use of UDIs: Universal Document Identifiers.
An early (1993) draft of the HTML Specification
15
referred to "Universal" Resource Locators. This was dropped some time between June 1994
16
and October 1994.
17
In his book
Weaving the Web
, Berners-Lee emphasizes his preference for the original inclusion of "universal" in the expansion rather than the word "uniform", to which it was later changed, and he gives a brief account of the contention that led to the change.
Syntax
Main article:
Uniform Resource Identifier § Syntax
Part of this section is
transcluded
from
Uniform Resource Identifier
edit
history
Every HTTP URL conforms to the syntax of a generic URI. The URI generic syntax consists of five
components
organized hierarchically in order of decreasing significance from left to right:
: §3
URI = scheme ":" ["//" authority] path ["?" query] ["#" fragment]
A component is
undefined
if it has an associated delimiter and the delimiter does not appear in the URI; the scheme and path components are always defined.
: §5.2.1
A component is
empty
if it has no characters; the scheme component is always non-empty.
: §3
The authority component consists of
subcomponents
authority = [userinfo "@"] host [":" port]
This is represented in a
syntax diagram
as:
The URI comprises:
A non-empty
scheme
component followed by a colon (
), consisting of a sequence of characters beginning with a letter and followed by any combination of letters, digits, plus (
), period (
), or hyphen (
). Although schemes are case-insensitive, the canonical form is lowercase and documents that specify schemes must do so with lowercase letters. Examples of popular schemes include
http
https
ftp
mailto
file
data
and
irc
. URI schemes should be registered with the
Internet Assigned Numbers Authority (IANA)
, although non-registered schemes are used in practice.
18
An optional
authority
component preceded by two slashes (
//
), comprising:
An optional
userinfo
subcomponent followed by an at symbol (
), that may consist of a
user name
and an optional
password
preceded by a colon (
). Use of the format
username:password
in the userinfo subcomponent is deprecated for security reasons. Applications should not render as clear text any data after the first colon (
) found within a userinfo subcomponent unless the data after the colon is the empty string (indicating no password).
host
subcomponent, consisting of either a registered name (including but not limited to a
hostname
) or an
IP address
IPv4
addresses must be in
dot-decimal notation
, and
IPv6
addresses must be enclosed in brackets (
[]
).
: §3.2.2
An optional
port
subcomponent preceded by a colon (
), consisting of decimal digits.
path
component, consisting of a sequence of path segments separated by a slash (
). A path is always defined for a URI, though the defined path may be empty (zero length). A segment may also be empty, resulting in two consecutive slashes (
//
) in the path component. A path component may resemble or map exactly to a
file system path
but does not always imply a relation to one. If an authority component is defined, then the path component must either be empty or begin with a slash (
). If an authority component is undefined, then the path cannot begin with an empty segment—that is, with two slashes (
//
)—since the following characters would be interpreted as an authority component.
20
: §3.3
By convention, in
http
and
https
URIs, the last part of a
path
is named
pathinfo
and it is optional. It is composed by zero or more path segments that do not refer to an existing physical resource name (e.g. a file, an internal module program or an executable program) but to a logical part (e.g. a command or a qualifier part) that has to be passed separately to the first part of the path that identifies an executable module or program managed by a
web server
; this is often used to select dynamic content (a document, etc.) or to tailor it as requested (see also:
CGI
and PATH_INFO, etc.).
Example:
URI:
"http://www.example.com/questions/3456/my-document"
where:
"/questions"
is the first part of the
path
(an executable module or program) and
"/3456/my-document"
is the second part of the
path
named
pathinfo
, which is passed to the executable module or program named
"/questions"
to select the requested document.
An
http
or
https
URI containing a
pathinfo
part without a
query
part may also be referred to as a '
clean URL
,' whose last part may be a '
slug
.'
Query delimiter
Example
Ampersand (
key1=value1&key2=value2
Semicolon (
key1=value1;key2=value2
An optional
query
component preceded by a question mark (
), consisting of a
query string
of non-hierarchical data. Its syntax is not well defined, but by convention is most often a sequence of
attribute–value pairs
separated by a
delimiter
An optional
fragment
component preceded by a
hash
). The fragment contains a
fragment identifier
providing direction to a secondary resource, such as a section heading in an article identified by the remainder of the URI. When the primary resource is an
HTML
document, the fragment is often an
id
attribute
of a specific element, and web browsers will scroll this element into view.
A web browser will usually
dereference
a URL by performing an
HTTP
request to the specified host, by default on port number 80. URLs using the
https
scheme require that requests and responses be made over a
secure connection to the website
Internationalized URL
Internet users are distributed throughout the world using a wide variety of languages and alphabets, and expect to be able to create URLs in their own local alphabets. An
Internationalized Resource Identifier
(IRI) is a form of URL that includes
Unicode
characters. All modern browsers support IRIs. The parts of the URL requiring special treatment for different alphabets are the domain name and path.
23
24
The domain name in the IRI is known as an
Internationalized Domain Name
(IDN). Web and Internet software automatically convert the domain name into
punycode
usable by the
Domain Name System
; for example, the Chinese URL
becomes
. The
xn--
indicates that the character was not originally
ASCII
25
The URL path name can also be specified by the user in the local writing system. If not already encoded, it is converted to
UTF-8
, and any characters not part of the basic URL character set are escaped as
hexadecimal
using
percent-encoding
; for example, the Japanese URL
becomes
. The target computer decodes the address and displays the page.
23
Protocol-relative URLs
Protocol-relative links (PRL), also known as protocol-relative URLs (PRURL), are URLs that have no protocol specified. For example,
//example.com
will use the protocol of the current page, typically HTTP or HTTPS.
26
27
See also
Hyperlink
PURL
– Persistent URL
CURIE
(Compact URI)
URI fragment
Internet resource locator
(IRL)
Internationalized Resource Identifier
(IRI)
Clean URL
Typosquatting
Uniform Resource Identifier
URI normalization
Use of slashes in networking
Notes
A URL implies the means to access an indicated resource and is denoted by a protocol or an access mechanism, which is not true of every URI.
Thus
is a URL, while
www.example.com
is not.
For URIs relating to resources on the World Wide Web, some web browsers allow
.0
portions of dot-decimal notation to be dropped or raw integer IP addresses to be used.
19
Historic
RFC
1866
(obsoleted by
RFC
2854
21
) encourages CGI authors to support ';' in addition to '&'.
22
: §8.2.1
Citations
T. Berners-Lee
R. Fielding
L. Masinter
(January 2005).
Uniform Resource Identifier (URI): Generic Syntax
. Network Working Group.
doi
10.17487/RFC3986
. STD 66.
RFC
3986
Internet Standard 66.
Obsoletes
RFC
2732
2396
and
1808
. Updated by
RFC
6874
7320
and
8820
. Updates
RFC
1738
P. Hoffman (October 2005).
The telnet URI Scheme
. Network Working Group.
doi
10.17487/RFC4248
RFC
4248
Proposed Standard.
Obsoletes
RFC
1738
P. Hoffman (November 2005).
The gopher URI Scheme
. Network Working Group.
doi
10.17487/RFC4266
RFC
4266
Proposed Standard.
Obsoletes
RFC
1738
M. Duerst;
L. Masinter
; J. Zawinski (October 2010).
The 'mailto' URI Scheme
Internet Engineering Task Force
doi
10.17487/RFC6068
ISSN
2070-1721
RFC
6068
Proposed Standard.
Obsoletes
RFC
2368
M. Yevstifeyev (June 2011).
The 'tn3270' URI Scheme
Internet Engineering Task Force
doi
10.17487/RFC6270
ISSN
2070-1721
RFC
6270
Proposed Standard.
Updates
RFC
1041
1738
and
2355
W3C (2009)
"Forward and Backslashes in URLs"
zzz.buzz
Archived
from the original on 2018-09-04
. Retrieved
2018-09-19
Mealling, Michael H.; Denenberg, Ray (August 2002).
Report from the Joint W3C/IETF URI Planning Interest Group: Uniform Resource Identifiers (URIs), URLs, and Uniform Resource Names (URNs): Clarifications and Recommendations
. Network Working Group.
doi
10.17487/RFC3305
RFC
3305
Informational.
Miessler, Daniel.
"The Difference Between URLs and URIs"
Archived
from the original on 2017-03-17
. Retrieved
2017-03-16
T. Berners-Lee
L. Masinter
; M. McCahill (December 1994).
Uniform Resource Locators (URL)
. Network Working Group.
doi
10.17487/RFC1738
RFC
1738
Obsolete.
Obsoleted by
RFC
4248
and
4266
. Updated by
RFC
1808
2368
2396
3986
6196
6270
and
8089
W3C (1994)
IETF (1992)
Berners-Lee (2015)
BBC News (2009)
Berners-Lee, Tim
Connolly, Daniel "Dan"
(March 1993).
Hypertext Markup Language (draft RFCxxx)
(Technical report). p. 28.
Archived
from the original on 2017-10-23
. Retrieved
2017-10-23
Berners-Lee, Tim
(June 1994).
Universal Resource Identifiers in WWW: A Unifying Syntax for the Expression of Names and Addresses of Objects on the Network as used in the World-Wide Web
. Network Working Group.
doi
10.17487/RFC1630
RFC
1630
Informational.
Berners-Lee, Tim
Masinter, Larry
McCahill, Mark Perry
(October 1994).
Uniform Resource Locators (URL)
(Technical report).
(This Internet-Draft was published later that year as RFC 1738) Cited in
Ang, C. S.; Martin, D. C. (January 1995).
Constituent Component Interface++
(Technical report). UCSF Library and Center for Knowledge Management.
Archived
from the original on 2017-10-23
. Retrieved
2017-10-23
Hansen, Tony; Hardie, Ted (June 2015). Thaler, Dave (ed.).
Guidelines and Registration Procedures for URI Schemes
Internet Engineering Task Force
doi
10.17487/RFC7595
ISSN
2070-1721
. BCP 35.
RFC
7595
Best Current Practice 35.
Updated by
RFC
8615
. Obsoletes
RFC
4395
Lawrence (2014)
T. Berners-Lee
R. Fielding
L. Masinter
(August 1998).
Uniform Resource Identifiers (URI): Generic Syntax
. Network Working Group.
doi
10.17487/RFC2396
RFC
2396
Obsolete.
Obsoleted by
RFC
3986
. Updated by
RFC
2732
. Updates
RFC
1808
and
1738
D. Connolly
L. Masinter
(June 2000).
The 'text/html' Media Type
. Network Working Group.
doi
10.17487/RFC2854
RFC
2854
Informational / Legacy.
Obsoletes
RFC
1980
1867
1942
1866
and
2070
. Not endorsed by the
IETF
Berners-Lee, Tim
Connolly, Daniel W.
(November 1995).
Hypertext Markup Language - 2.0
. Network Working Group.
doi
10.17487/RFC1866
RFC
1866
Historic.
Obsoleted by
RFC
2854
W3C (2008)
W3C (2014)
IANA (2003)
Glaser, J. D. (2014-03-10).
Secure Development for Mobile Apps: How to Design and Code Secure Mobile Applications with PHP and JavaScript
(1st ed.).
CRC Press
. p. 193.
ISBN
978-1-48220903-7
. Retrieved
2015-10-12
Schafer, Steven M. (2011).
HTML, XHTML, and CSS Bible
(1st ed.).
John Wiley & Sons
. p. 124.
ISBN
978-1-11808130-3
. Retrieved
2015-10-12
References
"Berners-Lee "sorry" for slashes"
BBC News
. 2009-10-14.
Archived
from the original on 2020-06-05
. Retrieved
2010-02-14
"Living Documents BoF Minutes"
World Wide Web Consortium
. 1992-03-18.
Archived
from the original on 2012-11-22
. Retrieved
2011-12-26
Berners-Lee, Tim
(1994-03-21).
"Uniform Resource Locators (URL): A Syntax for the Expression of Access Information of Objects on the Network"
World Wide Web Consortium
Archived
from the original on 2015-09-09
. Retrieved
2015-09-13
Berners-Lee, Tim
(2015) [2000].
"Why the //, #, etc?"
Frequently asked questions
World Wide Web Consortium
Archived
from the original on 2020-05-14
. Retrieved
2010-02-03
Connolly, Daniel "Dan"
Sperberg-McQueen, C. Michael
, eds. (2009-05-21).
"Web addresses in HTML 5"
World Wide Web Consortium
Archived
from the original on 2015-07-10
. Retrieved
2015-09-13
IANA
(2003-02-14).
"Completion of IANA Selection of IDNA Prefix"
IETF-Announce mailing list
. Archived from
the original
on 2004-12-08
. Retrieved
2015-09-03
"An Introduction to Multilingual Web Addresses"
. 2008-05-09.
Archived
from the original on 2015-01-05
. Retrieved
2015-01-11
Phillip, A. (2014).
"What is Happening with "International URLs"
World Wide Web Consortium
Archived
from the original on 2015-02-17
. Retrieved
2015-01-11
Lawrence, Eric (2014-03-06).
"Browser Arcana: IP Literals in URLs"
Microsoft Learn
Archived
from the original on 2020-06-22
. Retrieved
2020-06-22
External links
URL specification
at
WHATWG
URL splitter
that splits any URI into its parts
Hypermedia
Basics
Hypertext
Hyperlink
Hypertext fiction
Hypervideo
Adaptive hypermedia
educational
authoring
Hyperlinks in virtual worlds
Resource identifiers
Uniform resource identifier
Internationalized resource identifier
Uniform resource name
Uniform resource locator
Extensible resource identifier
Persistent uniform resource locator
Semantic URL
Concepts
anchor text
click path
Domain name
click here
Copyright aspects of hyperlinking and framing
deep linking
Fat link
URI fragment
Hostname
Hypertext
Inline linking
inbound link
backlink
HTTP referer
image map
Internal link
Internet bookmark
linkback
Link relation
Link rot
Object hyperlinking
Path
Screen hotspot
Source tracking
transclusion
URI scheme
URL normalization
URL redirection
Website
Web page
XML namespace
Technology
CURIE
Hypertext Transfer Protocol
XLink
See also
Digital poetry
History of hypertext
Interactive novel
Interactive fiction
Timeline of hypertext technology
Copyright aspects of hyperlinking and framing
World Wide Web
History
Domain Application Protocol
Authority control databases
International
GND
National
Czech Republic
Retrieved from "
Categories
URL
Identifiers
Internet properties established in 1994
Hidden categories:
Articles with short description
Short description is different from Wikidata
Wikipedia indefinitely semi-protected pages
Use dmy dates from May 2020
URL
Add topic