http - significado - uri y url diferencias




¿Cuál es la diferencia entre un URI, una URL y una URN? (20)

Identificador = Nombre + Ubicación

De manera abstracta, cada URL (identificador de la fuente de recursos de China) es un URI (dentificador de la fuente de recursos de China), de manera abstracta, pero cada URI no es una URL. Hay otra subcategoría de URI es URN ( U niforme R esource N ame), que es un recurso con nombre, pero no especifica cómo ubicarlos, como mailto, news, ISBN es URIs. Source

URNA:

  • Formato URN: urn:[namespace identifier]:[namespace specific string]
  • Urna: y: defienden por sí mismos.
  • Examples :
    • urna: uuid: 6e8bc430-9c3a-11d9-9669-0800200c9a66
    • Urna: ISSN: 0167-6423
    • Urna: Isbn: 096139210x
    • Los nombres de recursos de Amazon (ARN) son una identificación única de los recursos de AWS.
      • Formato de ARN: arn:partition:service:region:account-id:resource

URL:

  • Formato de URL: [scheme]://[Domain][Port]/[path]?[queryString]#[fragmentId]
  • :, // ,? y # defender por sí mismos.
  • los esquemas son https, ftp, gopher, mailto, news, telnet, file, man, info, whatis, ldap ...
  • Ejemplos:
    • http://ip_server/path?query
    • ftp://ip_server/path
    • mailto: dirección de correo electrónico
    • noticias: nombre de grupo de noticias
    • telnet: // ip_server /
    • archivo: // ip_server / path_segments
    • ldap: // hostport / dn? attributes? scope? filter? extensions

Analogía:
Para comunicarse con una persona: Conducción (protocolo de otros SMS, correo electrónico, teléfono), Dirección (nombre de host otro número de teléfono, correo electrónico) y nombre de la persona (nombre del objeto con una ruta relativa).

La gente habla de URL s, URI s y URN s como si fueran cosas diferentes, pero parecen iguales a simple vista.

¿Cuáles son las diferencias distinguibles entre ellos?


URI - Identificador uniforme de recursos

Los URI son un estándar para identificar documentos usando una cadena corta 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 todos los 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 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 un nombre único y persistente, pero no necesariamente le dice cómo ubicarlo en Internet. Generalmente 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.

URC - Citación uniforme de recursos

Apunta a los metadatos sobre un documento en lugar de al documento en sí. Un ejemplo de un 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ían los data:,Hello%20World .

Preguntas frecuentes

He oído que ya no debería decir URL, ¿por qué?

La especificación W3 para HTML dice que la href de una etiqueta de anclaje 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.

¿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).

¿La diferencia entre URL y URI tiene algo que ver con qué caracteres están 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 entran en gran detalle sobre qué caracteres están permitidos en qué partes de las URL y los URI. Algunos caracteres pueden estar permitidos solo en algunas partes de la URL, pero los caracteres solos no son una diferencia entre las URL y los URI.

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

Sí. El W3C se dio cuenta de que hay un montón de 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 (que significa URI). Ya no es útil segmentar estrictamente los URI en diferentes tipos, como URL, URN y URC.

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

La definición de URN ahora es más flexible de lo que dije anteriormente. El último RFC en 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 los tipos de documento 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 en el sitio web w3.org.


Debido a las dificultades para distinguir claramente entre URI y URL, por lo que recuerdo, W3C ya no hace una diferencia entre URI y URL ( http://www.w3.org/Addressing/ ).


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, proporciona un medio para ubicar el recurso al describir su mecanismo de acceso primario (por ejemplo, su "ubicación" de red). El término "Nombre de recurso uniforme" (URN) se ha usado históricamente para referirse a ambos URI bajo el esquema de "urna" [RFC2141], que debe permanecer globalmente único y persistente incluso cuando el recurso deja de existir o deja de estar disponible, y a cualquier otro URI con las propiedades de un nombre.

Por lo tanto, todas las URL son URI (en realidad no del todo - vea más abajo), y todas las URN son URI, pero las URN y las URL son diferentes, por lo que no puede decir que todas las URI son URL.

EDITAR: anteriormente había pensado que todas las URL son URI válidas, pero según los comentarios:

No "todas las URL son URI". Depende de la interpretación del RFC. Por ejemplo, en Java, el analizador URI no le gusta [ o ] y eso es porque la especificación dice "no debería" y no "no debería".

Así que eso enturbia las aguas aún más, por desgracia.

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


En resumen: un URI identifica, una URL identifica y localiza.

Considere una edición específica de la obra de Shakespeare Romeo and Juliet , de la cual tiene una copia digital en su red doméstica.

Puede identificar el texto como urn:isbn:0-486-27557-4 .
Eso sería un URI, pero más específicamente un URN * porque nombra el texto .

También puede identificar el texto como file://hostname/sharename/RomeoAndJuliet.pdf .
Eso también sería un URI, pero más específicamente una URL porque localiza el texto .

* Nombre del recurso uniforme

(Tenga en cuenta que mi ejemplo está adaptado de URI )


Estas son algunas respuestas muy bien escritas pero de largo aliento. Aquí está la diferencia en lo que respecta a CodeIgniter :

URL - http://example.com/some/page.html

URI - /some/page.html

En pocas palabras, la URL es la forma completa de identificar cualquier recurso en cualquier lugar y puede tener diferentes protocolos como FTP, HTTP, SCP, etc.

URI es un recurso en el dominio actual, por lo que necesita menos información para ser encontrada.

En cada instancia en la que CodeIgniter utiliza la palabra URL o URI, esta es la diferencia de la que están hablando, aunque en el gran esquema de la web, no es 100% correcto.


Otro ejemplo que me gusta usar cuando pienso en URI es el atributo xmlns de un documento XML:

<rootElement xmlns:myPrefix="com.mycompany.mynode">
    <myPrefix:aNode>some text</myPrefix:aNode>
</rootElement>

En este caso, com.mycompany.mynode sería un URI que identifica de forma única el espacio de nombres "myPrefix" para todos los elementos que lo utilizan dentro de mi documento XML. Esta NO es una URL porque solo se usa para identificar, no para localizar algo per se.


Según RFC 3986 , los URI se componen de las siguientes piezas:

scheme://authority/path?query

El URI describe el protocolo para acceder a un recurso ( ruta ) o aplicación ( consulta ) en un servidor ( autoridad ).

Todas las URL son URI y todas las URN son URI, pero todas las URI no son URL.

Por favor refiérase para más detalles:

Wikipedia


URI es una clase de la súper clase de URL y URN. Wikipedia tiene un URI sobre ellos con enlaces al conjunto correcto de RFC.


Un URI identifica un recurso por ubicación, un nombre o ambos. La mayoría de las veces, la mayoría de nosotros usamos URI que definen una ubicación para un recurso. El hecho de que un URI pueda identificar un recurso por nombre y ubicación ha generado mucha confusión en mi opinión. Un URI tiene dos especializaciones conocidas como URL y URN.

Una URL es una especialización de URI que define la ubicación de red de un recurso específico. A diferencia de una URN, la URL define cómo se puede obtener el recurso. Usamos URL todos los días en forma de http://.com , etc. Pero una URL no tiene que ser una URL HTTP, puede ser ftp://example.com , etc.


Ver este documento Específicamente,

una URL es un tipo de URI que identifica un recurso a través de una representación de su mecanismo de acceso primario (por ejemplo, su "ubicación" de la red), en lugar de por otros atributos que pueda tener.

No es un término extremadamente claro, de verdad.


Wikipedia le dará toda la información que necesita aquí. Citando de http://en.wikipedia.org/wiki/URI :

Una URL es una URI que, además de identificar un recurso, proporciona medios para actuar u obtener una representación del recurso al describir su mecanismo de acceso primario o "ubicación" de la red.


URI, URL, URN

Como la imagen de arriba indica, hay tres componentes distintos en juego aquí. Por lo general, es mejor ir a la fuente cuando se discuten asuntos como estos, así que aquí hay un extracto de Tim Berners-Lee, et. Alabama. en RFC 3986: Identificador uniforme de recursos (URI): Sintaxis genérica:

Un identificador uniforme de recursos (URI) es una secuencia compacta de caracteres que identifica un recurso abstracto o físico.

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, proporciona un medio para ubicar el recurso al describir su mecanismo de acceso primario (por ejemplo, su "ubicación" de red).


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

Ejemplos

  • Roger Pate

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

  • 4914 West Bay Street, Nassau, Bahamas

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

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

Confusión popular

De URL :

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 , ... [énfasis mío]

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

URNs

Mi nombre, Roger Pate, podría ser como un URN (Nombre de recurso uniforme), excepto que están mucho más regulados y pretenden ser únicos en el espacio y el tiempo.

Debido a que actualmente comparto este nombre con otras personas, no es globalmente único y no sería apropiado como URN. Sin embargo, incluso si ninguna otra familia usara este nombre, me nombran así por mi abuelo paterno, por lo que aún no sería único en el tiempo. E incluso si ese no fuera el caso, la posibilidad de nombrar a mis descendientes después de mí hace que esto sea inadecuado como URN.

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


Fácil de explicar:

Asumamos lo siguiente

URI es tu nombre

URL es su dirección con su nombre para comunicarse con usted.

  • mi nombre es loyola

    Loyola es URI

  • Mi dirección es TN, Chennai 600001.

TN, Chennai 600 001, Loyola es URL

Espero que entiendas,

Ahora veamos un ejemplo preciso.

http://www.google.com/fistpage.html

en lo anterior, puede comunicarse con una página llamada firstpage.html ( URI ) utilizando http://www.google.com/fistpage.html ( URL ).

Por lo tanto, URI es un subconjunto de URL pero no viceversa.


URL

Una URL es una especialización de URI que define la ubicación de red de un recurso específico. A diferencia de una URN, la URL define cómo se puede obtener el recurso. Usamos URL todos los días en forma de http://example.com etc. Pero una URL no tiene que ser una URL HTTP, puede ser ftp://example.com , etc., también.

URI

Un URI identifica un recurso por ubicación, un nombre o ambos. La mayoría de las veces, la mayoría de nosotros usamos URI que definen una ubicación para un recurso. El hecho de que un URI pueda identificar un recurso por nombre y ubicación ha generado mucha confusión en mi opinión. Un URI tiene dos especializaciones conocidas como URL y URN.

Diferencia entre URL y URI

Un URI es un identificador para algún recurso, pero una URL le brinda información específica para obtener ese recurso. Un URI es una URL y, como señaló un comentarista, ahora se considera incorrecto utilizar la URL al describir las aplicaciones. En general, si la URL describe la ubicación y el nombre de un recurso, el término a utilizar es URI. Dado que este es generalmente el caso que la mayoría de nosotros encontramos todos los días, URI es el término correcto.


Encontré:

Un identificador uniforme de recursos (URI) representa algo así como un panorama general. Puede dividir los URI / URI se pueden clasificar como localizadores (localizadores de recursos uniformes-URL), o como nombres (nombre de recursos uniforme-URN), o ambos. Básicamente, un URN funciona como el nombre de una persona y la URL representa la dirección de esa persona. En pocas palabras, una URN define la identidad de un elemento, mientras que la URL proporciona el método para encontrarlo, finalmente, encapsulando estos dos conceptos es el URI


Un identificador uniforme de recursos (URI) es una cadena de caracteres que identifica un recurso de Internet.

El URI más común es el Localizador uniforme de recursos (URL) que identifica una dirección de dominio de Internet. Otro tipo de URI, no tan común, es el nombre de recurso universal (URN).


Me preguntaba sobre lo mismo y encontré esto: http://docs.kohanaphp.com/helpers/url .

Puedes ver un claro ejemplo utilizando el url::current()método. Si tiene esta URL : http://example.com/kohana/index.php/welcome/home.html?query=stringluego usarla url:current()le da el URI que, según la documentación, es: bienvenido / inicio


No olvides las URNs. Los URI y las URL son ambos URN. Las URL tienen una ubicación:

URI: foo
URL: http://some.domain.com/foo
URL: http://some.domain.com:8080/foo
URL: ftp://some.domain.com/foo

Todos ellos son URNs.





rfc3986