Contiene información sobre cómo recuperar un recurso desde su ubicación. Por ejemplo:
http://example.com/mypage.html
ftp://example.com/download.zip
mailto:user@example.com
file:///home/user/file.txt
tel:1-888-555-5555
http://example.com/resource?foo=bar#fragment
/other/link.html
(Una URL relativa, solo útil en el contexto de otra URL)
Las URL siempre comienzan con un protocolo ( http
) y generalmente contienen información como el nombre de host de la red ( example.com
) y, a menudo, una ruta de documento ( /foo/mypage.html
). Las URL pueden tener parámetros de consulta e identificadores de fragmentos.
Identifica un recurso por un nombre único y persistente. Suele comenzar con el prefijo urn:
Por ejemplo:
urn:isbn:0451450523
para identificar un libro por su número ISBN.
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66
un identificador único global
urn:publishing:book
- Un espacio de nombres XML que identifica el documento como un tipo de libro.
Los URN pueden identificar ideas y conceptos. No están restringidos a documentos de identificación. Cuando una URN representa un documento, un "resolutor" puede traducirlo a una URL. El documento se puede descargar desde la URL.
Los URI abarcan URL, URN y otras formas de identificar un recurso.
Un ejemplo de un URI que no es una URL ni una URN sería un URI de datos como data:,Hello%20World
. No es una URL ni una URN porque el URI contiene los datos. No lo nombra ni le dice cómo ubicarlo en la red.
También hay citas uniformes de recursos (URC) que apuntan a metadatos sobre un documento en lugar de al documento en sí. Un ejemplo de una URC sería un identificador para ver el código fuente de una página web: view-source:http://example.com/
. Un URC es otro tipo de URI que no es URL ni URN.
Preguntas frecuentes
He oído que ya no debería decir URL, ¿por qué?
La especificación W3 para HTML dice que la href
etiqueta de un ancla puede contener un URI, no solo una URL. Debería poder poner una URN como <a href="urn:isbn:0451450523">
. Su navegador resolverá esa URN en una URL y descargará el libro por usted.
¿Hay algún navegador que sepa cómo buscar documentos por URN?
No que yo sepa, pero el navegador web moderno implementa el esquema URI de datos.
¿La diferencia entre URL y URI tiene algo que ver con si es relativa o absoluta?
No. Tanto las URL relativas como las absolutas son URL (y URI).
¿La diferencia entre URL y URI tiene algo que ver con si tiene parámetros de consulta?
No. Ambas URL con y sin parámetros de consulta son URL (y URI).
¿La diferencia entre URL y URI tiene algo que ver con si tiene un identificador de fragmento?
No. Ambas URL con y sin identificadores de fragmentos son URL (y URI).
Pero, ¿no dice el W3C que las URL y los URI son lo mismo?
Si. El W3C se dio cuenta de que hay mucha confusión sobre esto. Emitieron un documento de aclaración de URI que dice que ahora está bien usar los términos URL y URI indistintamente (es decir, URI). Ya no es útil segmentar estrictamente los URI en diferentes tipos, como URL, URN y URC.
¿Puede un URI ser tanto una URL como una URN?
La definición de URN ahora es más flexible que la que dije anteriormente. El último RFC sobre URI dice que cualquier URI ahora puede ser una URN (independientemente de si comienza con urn:
) siempre que tenga "las propiedades de un nombre". Es decir: es globalmente único y persistente incluso cuando el recurso deja de existir o deja de estar disponible. Un ejemplo: los URI utilizados en documentos HTML como http://www.w3.org/TR/html4/strict.dtd
. Ese URI continuaría nombrando el doctype de transición HTML4 incluso si se eliminara la página en el sitio web w3.org.