URI (Uniform Resource Identifier), URL (Uniform Resource Locator), URN (Uniform Resource Names) | Section

Standards Based Development

urls are addresses of web documents; more generally, they can be used on the Web to refer to "objects" on the Web or in other information systems.

Absolute urls Absolute urls have the following syntax: scheme://host:port/path/filename where scheme

specifies the information system (protocol) that will be used to access the resource. scheme's possible values are:

http

A http accessible web document.

ftp

A resource to be accessed (retrieved) using ftp

file
a file on a particular computer; as in a local file...not very useful on the Web
gopher

A file in a Gopher server

mailto

electronic mail address

news

a newsgroup or an article in Usenet news.

telnet

for starting an interactive session via the Telnet protocol, which is part of tcp/ip).

host

the Internet host name in the domain notation, e.g. www.hut.fi, or sometimes a numerical tcp/ip address.

also known as hostname, host name, domain, domain name, and ip address.

The host is preceded by a the double slash ("//").

Note: a common misconception has it that the colon and double slash in urls are an inseperable delimiter that terminates the protocol. In actuality, the colon is the terminator of the protocol section, and the double slash is used to introduce the hostname or other site identifier (varies by protocol) and is absent in urls lacking a hostname, such as mailto:, and news: urls.

:port

port numbr part, which can typically be omitted since it has a reasonable default; or rather, only omit it if it is not a part of your url.

path

a directory path within the host

filename

file name within the directory

Fragment Identifier

A fragment identifier is an element's id="" attribute, which can be appended to a url, constructing an address that refers to a particular location in a document.

Fragment identifiers are separated from the url proper by the pound sign, which we use in css to denote id=""s, so it should be quite familiar.

Note: technically, according to the url specifications, a fragment identifier is not a part of the url proper. Instead, a construct of the form URL#fragment-identifier is called a url reference. The fragment identifier isn't technically part of the url because it isn't sent to the server, it is an addendum to it that is used by the user agent to go to the appropriate location of the retrieved document once it has loaded.

mailto

is followed by an email address and creates a link allowing users to send email to that address news is followed by the name of a newsgroup, for example: comp.infosystems.www.authoring.html and allows the user to follow the link to see the newsgroup's messages, provided the user's browser is configured to access a news server. Both mailto: and news: do not have slashes in them; their syntax is: mailto:yourmom@yourmom.com and not mailto://webmaster@webtips.dan.info/.

addendum to the url.

Case Sensitivity

urls are technically case sensitive; even in cases where upper/lower case versions point to the same resource, you're still imposing an unnecessary burden on browsers that need to retriev and cache two copies of the same document, because they are going to two variants of the same url.

protocol and hostname are not case sensitive, however directory and filenames may be case sensitive, depending on what operating system the server is running on (UNIX is case sensitive, Windows is not).

Fragment names are case sensitive.

uri Uniform Resource Indicator

urn Uniform Resource Names

Overloaded uri is one that has been designated to have more than one meaning. Think about your home page uri, if I put that into a browser, I'll see your site; but suppose I want to write an rdf about you...rdf nodes (in general) refer to subjects, and subjects are told by uris, I very well may be using your site to talk about you, the person-, and not just your home page.

If I actually did that, I would be overloading the uri of your site, because I've attached additional meaning ("this address represents you, the person) to the old one ("this address is the location of your home page").

Overloadeduri

http://www.w3.org/wiki/DualUseUri">DualUseURI Slash URI http://www.w3.org/wiki/SlashRedirection">SlashRedirection http://www.w3.org/wiki/HashURI">HashURI a URI with a hash mark ("#") in it, which is specifically used to denote something that is not a traditional web document. Technically known as uri with a fragment identifier.

HashURI use is intended to help with overloaded uris and is often presented in contrast with slashuri. http://www.w3.org/wiki/HashSlashDuality">HashSlashDuality in both sides of the HashVsSlash debate, the choice of Gooduris either obscures a document section or an rdf property.

SecondaryAccess When you are deciding whether to use a frament identifier or not in a uri, ask yourself: "will users want to interact with this resource independently of any other resource?". If the answer is yes, the do not use fragment identifiers. http://www.w3.org/wiki/SecondaryAccess">SecondaryAccess SlashURI ResponsePoint Gooduris

References and Resources