I am writing some documentation and I have a little vocabulary problem:
http://www.example.com/en/public/img/logo.gif
is called an "absolute" url, right?../../public/img/logo.gif
is called a "relative" url, right?/en/public/img/logo.gif
?Is it also considered an "absolute url", although without the protocol and domain parts?
Or is it considered a relative url, but relative to the root of the domain?
I googled a bit and some people categorize this as absolute, and others as relative.
What should I call it? A "semi-absolute url"? Or "semi-relative"? Is there another word?
Here are the URL components:
http://www.example.com/en/public/img/logo.gif
\__/ \_____________/\_____________________/
#1 #2 #3
A URL is called an absolute URL if it begins with the scheme and scheme specific part (here //
after http:
). Anything else is a relative URL.
A URL path is called an absolute URL path if it begins with a /
. Any other URL path is called a relative URL path.
Thus:
http://www.example.com/en/public/img/logo.gif
is a absolute URL,../../public/img/logo.gif
is a relative URL with a relative URL path and/en/public/img/logo.gif
is a relative URL with an absolute URL path.Note: The current definition of URI (RFC 3986) is different from the old URL definition (RFC 1738 and RFC 1808).
The three examples with URI terms:
http://www.example.com/en/public/img/logo.gif
is a URI,../../public/img/logo.gif
is a relative reference with just a relative path and/en/public/img/logo.gif
is a relative reference with just an absolute path.