Saltar al contenido

¿Cuál es la diferencia entre una URI, una URL y una URN?

Es importante comprender el código correctamente antes de aplicarlo a tu trabajo y si ttienes algo que aportar puedes decirlo en los comentarios.

URI identifican y Ubicar URL; sin embargo, los localizadores también son identificadores, por lo que cada URL es también un URI, pero hay URI que no son URL.

Ejemplos de

  • Roger Pate

Este es mi nombre, que es un identificador. Es como un URI, pero no puede ser una URL, ya que no le dice nada sobre mi ubicación o cómo contactarme. En este caso, también identifica al menos a otras 5 personas solo en los EE. UU.

  • 4914 West Bay Street, Nasáu, Bahamas

Este es un localizador, que es un identificador de esa ubicación física. Es como una URL y una URI (ya que todas las URL son URI) y también me identifica indirectamente como “residente de ..”. En este caso, me identifica de forma única, pero eso cambiaría si consigo un compañero de cuarto.

Digo “me gusta” porque estos ejemplos no siguen la sintaxis requerida.

Confusión popular

De Wikipedia:

En informática, un localizador uniforme de recursos (URL) es un subconjunto del identificador uniforme de recursos (URI) que especifica dónde está disponible un recurso identificado y el mecanismo para recuperarlo. En el uso popular y en muchos documentos técnicos y discusiones verbales, a menudo se usa incorrectamente como sinónimo de URI.… [emphasis mine]

Debido a esta confusión común, muchos productos y documentación usan incorrectamente un término en lugar del otro, asignan su propia distinción o los usan como sinónimos.

URN

Mi nombre, Roger Pate, podría ser como un URN (Uniform Resource Name), excepto que están mucho más regulados y tienen la intención de ser únicos en ambos espacio y tiempo.

Debido a que actualmente comparto este nombre con otras personas, no es único a nivel mundial y no sería apropiado como URN. Sin embargo, incluso si ninguna otra familia usó este nombre, me llamo así por mi abuelo paterno, por lo que aún no sería único en el tiempo. E incluso si ese No fue el caso, la posibilidad de nombrar a mis descendientes como yo lo hace inadecuado como URN.

Los URN son diferentes de los URL en esta restricción rígida de unicidad, aunque ambos comparten la sintaxis de los URI.

Desde RFC 3986:

Un URI puede clasificarse además como un localizador, un nombre o ambos. El término “localizador uniforme de recursos” (URL) se refiere al subconjunto de URI que, además de identificar un recurso, proporcionan un medio para localizar el recurso describiendo su mecanismo de acceso principal (por ejemplo, su “ubicación” de red). El término “Uniform Resource Name” (URN) se ha utilizado históricamente para referirse a ambos URI en el esquema “urn” [RFC2141], que deben permanecer globalmente únicos y persistentes incluso cuando el recurso deja de existir o deja de estar disponible, y para cualquier otro URI con las propiedades de un nombre.

Entonces, todas las URL son URI y todas las URN son URI, pero las URN y las URL son diferentes, por lo que no se puede decir que todas las URI son URL.

Si aún no ha leído la respuesta de Roger Pate, le aconsejo que lo haga también.

URI: identificador uniforme de recursos

Los URI son un estándar para identificar documentos utilizando un código string de números, letras y símbolos. Están definidos por RFC 3986 – Identificador uniforme de recursos (URI): sintaxis genérica. Las URL, URN y URC son todas tipos de URI.

URL: localizador uniforme de recursos

Contiene información sobre cómo obtener un recurso desde su ubicación. Por ejemplo:

  • http://example.com/mypage.html
  • ftp://example.com/download.zip
  • mailto:[email protected]
  • 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 suelen contener información como el nombre del 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.

URN – Nombre uniforme del recurso

Identifica un recurso por un nombre único y persistente, pero no necesariamente le dice cómo ubicarlo en Internet. Por lo general, comienza con el prefix 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.

Las URN pueden identificar ideas y conceptos. No se limitan a documentos de identificación. Cuando una URN representa un documento, un “solucionador” puede traducirlo a una URL. Luego, el documento se puede descargar desde la URL.

URC – Citación de recursos uniforme

Apunta a los metadatos sobre un documento en lugar del documento en sí. Un ejemplo de URC es uno que apunta al código fuente HTML de una página como: view-source:http://example.com/

URI de datos

En lugar de ubicarlo en Internet o nombrarlo, los datos se pueden colocar directamente en un URI. Un ejemplo sería data:,Hello%20World.


Preguntas frecuentes

Escuché que ya no debería decir URL, ¿por qué?

La especificación W3 para HTML dice que el href de una etiqueta de anclaje puede contener un URI, no solo una URL. Debería poder poner una URN como . Su navegador luego resolvería ese URN en una URL y descargaría el libro por usted.

¿Existe algún navegador que sepa cómo obtener documentos mediante URN?

No que yo sepa, pero los navegadores web modernos implementan el esquema de 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).

¿La diferencia entre URL y URI tiene algo que ver con los caracteres permitidos?

No. Las URL se definen como un subconjunto estricto de URI. Si un analizador permite un carácter en una URL pero no en un URI, hay un error en el analizador. Las especificaciones detallan qué caracteres están permitidos en qué partes de las URL y URI. Es posible que algunos caracteres solo estén permitidos en algunas partes de la URL, pero los caracteres por sí solos no son una diferencia entre las URL y las URI.

¿Pero no dice ahora el W3C que las URL y las URI son lo mismo?

Si. El W3C se dio cuenta de que hay mucha confusión al respecto. Emitieron un documento de aclaración de URI que dice que ahora está bien usar los términos URL y URI indistintamente (para significar URI). Ya no es útil segmentar estrictamente los URI en diferentes tipos, como URL, URN y URC.

¿Puede una URI ser tanto una URL como una URN?

La definición de URN ahora es más flexible de lo que dije anteriormente. El último RFC sobre URI dice que cualquier URI ahora puede ser un 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 tipos de documentos HTML como http://www.w3.org/TR/html4/strict.dtd. Ese URI continuaría nombrando el tipo de documento de transición HTML4 incluso si se eliminara la página del sitio web w3.org.


Diagrama de Venn URI / URL

Agradecemos que desees favorecer nuestra publicación mostrando un comentario o puntuándolo te estamos agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags :

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *