As URIs seguem uma especificação predefinida na RFC3986 (http://tools.ietf.org/html/rfc3986). Uma sintaxe genérica da URI consiste em uma sequência hierárquica de componentes referenciadas como o scheme, authority, path, query e fragmet.

URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

hier-part = "//" authority path-abempty
/ path-absolute
/ path-rootless
/ path-empty

Um exemplo de aplicação da forma genérica, seria o endereço web (fictício) abaixo:

http : //www.aiec.br/over/there?name=ferret#nose
\_/ \________/\_______/ \________/ \__/
|||||
scheme authoritypathqueryfragment

Outros exemplos de URI, não necessariamente voltados para web, estão descritos abaixo:

ftp://ftp.is.co.za/rfc/rfc1808.txt
ldap://[2001:db8::7]/c=GB?objectClass?one
mailto:John.Doe@example.com
news:comp.infosystems.www.servers.unix
tel:+1-816-555-1212
telnet://192.0.2.16:80/
urn:oasis:names:specification:docbook:dtd:xml:4.1.2

Desta forma, pode-se perceber que um dos objetivos principais da existência de URI é evitar que dois ou mais exemplares do mesmo recurso possam ter nomes diferentes e, reciprocamente, que recursos diferentes possam ter nomes idênticos.

Copyright © 2014 AIEC.