uniforme recursos que mismo identificador entre diferencia cuál http url uri urn

http - recursos - ¿Cuál es la diferencia entre URI, URL y URN?



uri web (4)

Esta pregunta ya tiene una respuesta aquí:

¿Cuál es la diferencia entre un URI, URL y URN? He leído muchos sitios (incluso Wikipedia) pero no lo entiendo.

URI: http://www.foo.com/bar.html
URL: http://www.foo.com/bar.html
URN: bar.html

¿Es esto correcto?


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
  • 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 documentos ( /foo/mypage.html ). Las URL pueden tener parámetros de consulta e identificadores de fragmentos.

URN - Nombre del recurso uniforme

Identifica un recurso por su nombre. Siempre comienza con el prefijo urn: Por ejemplo:

  • urn:isbn:0451450523 para identificar un libro por su número de 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 están restringidos a la identificación de documentos. Cuando una URN representa un documento, se puede traducir a una URL mediante un "resolutor". El documento se puede descargar desde la URL.

URI - Identificador uniforme de recursos

Los URI abarcan tanto URL como URN y otras formas de indicar un recurso.

Un ejemplo de un URI que no sea una URL ni un URN sería un URI de data:,Hello%20World como los data:,Hello%20World . No es una URL o URN porque la URI contiene los datos. No lo nombra, ni le dice cómo ubicarlo en la red.

También hay citas de recursos (URC) uniformes que apuntan a metadatos sobre un documento en lugar de al documento en sí. Un ejemplo de un URC sería un indicador 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 el href de una etiqueta de ancla puede contener un URI, no solo una URL. Debería poder poner una URN como <a href="urn:isbn:0451450523"> . Su navegador luego resolvería esa URN a una URL y descargaría el libro por usted.

¿Alguno de los navegadores realmente sabe cómo obtener documentos por URN?

No que yo sepa, pero el navegador web moderno implementa el esquema de URI de datos.

¿Un URI puede ser tanto una URL como un URN?

Buena pregunta. He visto muchos lugares en la web que afirman que esto es cierto. No he podido encontrar ningún ejemplo de algo que sea una URL y una URN. No veo cómo es posible porque un URN comienza con urn: que no es un protocolo de red válido.

¿La diferencia entre la URL y la URI tiene algo que ver con que sea 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. Ambos 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).

¿Es un tel: URI una URL o un URN?

Por ejemplo, tel:1-800-555-5555 . No comienza con urn: y tiene un protocolo para alcanzar un recurso a través de una red. Debe ser una URL.

Pero, ¿el w3C ahora no dice que las URL y los URI son lo mismo?

Sí. El W3C se dio cuenta de que hay un montón de confusión sobre esto. Emitieron un w3.org/TR/uri-clarification que dice que ahora está bien usar la URL y la URI de manera intercambiable. Ya no es útil segmentar estrictamente los URI en diferentes tipos, como URL, URN y URC.


A continuación resumiré la asombrosa explicación de Prateek Joshi .

La teoría:

  • URI (identificador uniforme de recursos) identifica un recurso (documento de texto, archivo de imagen, etc.)
  • La URL (localizador uniforme de recursos) es un subconjunto de los URI que incluyen una ubicación de red
  • URN (nombre de recurso uniforme) es un subconjunto de URI que incluye un nombre dentro de un espacio determinado, pero no una ubicación

Es decir:

Y para un ejemplo:

Además, si aún no lo ha hecho, sugiero leer la respuesta de Roger Pate .


URI (Identificador uniforme de recursos) según Wikipedia :

una cadena de caracteres utilizados para identificar un recurso.

La URL (Uniform Resource Locator) es un URI que implica un mecanismo de interacción con el recurso. por ejemplo, https://www.google.com especifica el uso de HTTP como mecanismo de interacción. No todos los URI necesitan transmitir información específica de interacción.

URN (nombre de recurso uniforme) es una forma específica de URI que tiene urna como esquema. Para obtener más información sobre la forma general de un URI, consulte https://en.wikipedia.org/wiki/Uniform_Resource_Identifier#Syntax

IRI (Identificador internacional de recursos) es una revisión de la definición de URI que nos permite utilizar caracteres internacionales en URI.


El identificador uniforme de recursos ( URI ) es una cadena de caracteres que se utiliza para identificar un nombre o un recurso en Internet

Un URI identifica un recurso por ubicación, un nombre o ambos. Un URI tiene dos especializaciones conocidas como URL y URN.

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. Una URL define cómo se puede obtener el recurso. No tiene que ser una URL HTTP (http: //), una URL también puede ser (ftp: //) o (smb: //).

Un Nombre de recurso uniforme ( URN ) es un Identificador de recursos uniforme (URI) que utiliza el esquema URN y no implica la disponibilidad del recurso identificado . Tanto los URN (nombres) como las URL (localizadores) son URI, y un URI particular puede ser tanto un nombre como un localizador al mismo tiempo.

Las URN son parte de una arquitectura de información de Internet más grande que está compuesta de URN, URC y URL.

bar.html no es una URN . Una URN es similar al nombre de una persona, mientras que una URL es como una dirección de calle. La URN define la identidad de algo, mientras que la URL proporciona una ubicación. Esencialmente, "qué" contra "dónde". Una URN debe ser de esta forma <URN> ::= "urn:" <NID> ":" <NSS> donde <NID> es el identificador de espacio de nombres, y <NSS> es la cadena específica del espacio de nombres.

Por decirlo de otro modo:

  • Una URL es una URI que identifica un recurso y también proporciona los medios para ubicar el recurso al describir la forma de acceder a él.
  • Una URL es una URI
  • Un URI no es necesariamente una URL

Yo diría que lo único que queda para que quede claro al 100% es tener un ejemplo de un URI que no sea una URL. Podemos usar los ejemplos en el RFC3986 :

URL: ftp://ftp.is.co.za/rfc/rfc1808.txt URL: http://www.ietf.org/rfc/rfc2396.txt URL: ldap://[2001:db8::7]/c=GB?objectClass?one URL: mailto:[email protected] URL: news:comp.infosystems.www.servers.unix URL: telnet://192.0.2.16:80/ URN (not URL): urn:oasis:names:specification:docbook:dtd:xml:4.1.2 URN (not URL): tel:+1-816-555-1212 (?)

También revise esto - https://quintupledev.wordpress.com/2016/02/29/difference-between-uri-url-and-urn/