URI vs URL: Diferencias y cuándo usarlas
Aunque en algunos casos un identificador uniforme de recursos (URI) y un localizador de recursos uniforme (URL) pueden utilizarse indistintamente, no son lo mismo.
Conocer la diferencia entre un URI y una URL puede hacer que el desarrollo de tu sitio web sea más sencillo. Por ejemplo, podrás diseñar una API REST más fácilmente, ya que un URI o una URL identificará cada recurso en la web.
En este artículo, explicaremos con más detalle las diferencias entre una URI y una URL y su estructura. Además, incluiremos casos de uso tanto de una URI como de una URL junto con sus pros y sus contras.
Tabla de Contenidos
¿Qué es una URI?
Una URI o identificador uniforme de recursos es una cadena de caracteres que generalmente identifica cualquier recurso web mediante un nombre, una ubicación o ambos. Un localizador uniforme de recursos (URL) y un nombre uniforme de recursos (URN) son los dos tipos de URI.
Diferencias entre URI vs URL
Consulta la siguiente tabla comparativa para entender mejor las principales diferencias entre URL y URI.
URI | URL |
URI es un acrónimo de Identificador Uniforme de Recursos. | URL es un acrónimo de Localizador de Recursos Uniforme. |
URI es el superconjunto de un URN y una URL. | URL es el subconjunto de URI. |
El URI identifica un recurso y lo diferencia de otros mediante un nombre, una ubicación o ambos. | La URL identifica la dirección web o la ubicación de un recurso único. |
El URI contiene componentes como el esquema, la autoridad, la ruta y la query. | La URL tiene componentes similares a un URI, pero su autoridad consiste en un nombre de dominio y un puerto. |
Un ejemplo de URI es el ISBN 0-476-35557-4. | Un ejemplo de URL sería https://hostinger.com. |
URI se suele utilizar en XML, archivos de bibliotecas de etiquetas y otros archivos, como JSTL y XSTL. | La URL sirve principalmente para buscar páginas web en Internet. |
El esquema URI puede ser un protocolo, una especificación o una designación como HTTP, archivo o datos. | El esquema de URL es un protocolo, como HTTP y HTTPS. |
¿Cuándo utilizar URI?
Un Identificador Uniforme de Recursos (URI) es una cadena de caracteres utilizada para identificar o nombrar un recurso en Internet. Es un método común para identificar y direccionar recursos, como páginas web, imágenes, vídeos y archivos, a través de distintos protocolos como HTTP y FTP.
Tras conocer las principales diferencias entre un URI y una URL, vamos a centrarnos en los dos tipos de URI en detalle.
Nombre de Recurso Uniforme (URN)
Un URN es un identificador persistente e independiente de la ubicación que pretende identificar un recurso de forma permanente. Esto significa que el recurso sigue siendo válido aunque sus datos se trasladen a otra ubicación.
Para lograrlo, un URN utiliza el esquema para distinguir los recursos. Por ejemplo, urn:isbn:0405999832 identifica un libro mediante los números del ISBN.
Todo nombre de recurso uniforme (URN) consta de al menos tres componentes:
- URN: cada URN utiliza el prefijo urn: especificación del esquema.
- NID: se refiere a un identificador de espacio de nombres que debe registrarse en la Autoridad de Números Asignados de Internet (IANA). Puede incluir letras, dígitos o un guion seguido de dos puntos.
- NSS: es una cadena específica del espacio de nombres que identifica el recurso de Internet. Puede contener códigos ASCII, dígitos, signos de puntuación y caracteres especiales.
Localizadores de Recursos Uniformes (URLs)
Una URL especifica el método para obtener una representación de la ubicación física mediante la descripción del mecanismo de acceso primario o su ubicación en la red. Los recursos que intenta localizar pueden ser una página web, un video, una imagen o cualquier documento publicado en línea.
A diferencia de un URN, este identificador de recursos de Internet no siempre es persistente e independiente de la ubicación ya que especifica la ruta de acceso al recurso, que puede cambiar con el tiempo. Además, una URL no sigue el esquema del URN.
La principal diferencia entre ambos identificadores es que un URN sólo especifica el nombre de un recurso, mientras que una URL necesita la técnica o los protocolos de acceso para recuperar la ubicación del recurso.
En resumen, todas las URLs son URIs, pero no todas las URIs son URLs.
Sintaxis URI
La sintaxis de un identificador de recursos uniforme (URI) define su estructura, lo que permite a un programa entenderlo. Esta es la sintaxis genérica de un URI:
scheme:[//authority]path[?query][#fragment]
Ahora, repasemos los elementos de la sintaxis URI:
Scheme: esquema
Un esquema es el primer componente de un URI que define el sistema de direccionamiento. En algunos casos, los esquemas URI son un protocolo utilizado para acceder a un recurso. Mientras tanto, otras técnicas pueden no especificar ningún protocolo.
Por ejemplo, el esquema about: se utiliza en los navegadores web, donde el recurso está incorporado al cliente y no está asociado a ningún protocolo específico.
Puede contener cualquier combinación de letras, dígitos, signos de suma, puntos o guiones seguidos de dos puntos. Los esquemas URI más comunes son HTTP, HTTPS, FTP, mailto y file.
Por ejemplo, si el URI es file:sitioweb.com/rutaarchivo/intro.pdf, el nombre del esquema es file.
Authority: autoridad
Es un componente opcional precedido por una doble barra y terminado por una barra, un signo de interrogación o un símbolo de número. Consta de tres subcomponentes:
- Userinfo: incluye un nombre de usuario y una contraseña separados por dos puntos.
- Host: consiste en una dirección IP o un nombre registrado. La dirección IP debe insertarse entre paréntesis.
- Port: un protocolo utilizado para conectar el servidor. Es un subcomponente opcional seguido de dos puntos.
Por ejemplo, el componente de autoridad de file:sitioweb.com/rutaarchivo/intro.pdf es sitioweb.com/.
Path: ruta
La ruta contiene una secuencia de segmentos de datos que describe la ubicación de un recurso en una estructura de directorios. Debe estar vacía o separada por una barra.
Por ejemplo, telnet://192.0.2.16:80/ o foo://info.ejemplo.com?fred es un URI válido con una ruta vacía, ya que no se indica la ubicación específica del recurso.
Query: consulta
Una query es un componente opcional que contiene una cadena de consulta de datos no jerárquicos. Suele ser una cadena de pares key=value (clave=valor).
Este componente va precedido de un signo de interrogación. Por ejemplo, si el URI es https://ejemplo.org/test/test1?search=test-question#part2, el componente query es search=test-question.
Fragment: fragmento
Este componente opcional incluye un identificador de fragmento que proporciona la dirección a un recurso secundario. Hace referencia a una sección diferente del recurso primario. Un fragmento está precedido por un símbolo de número y terminado por el final de un URI.
Por ejemplo, el componente de fragmento de https://ejemplo.org/test/test1?search=test-question#part2 es part2.
Casos de uso de URI
Aquí tienes ejemplos de uso de URI:
Obras audiovisuales
El Número Internacional Normalizado de Obras Audiovisuales (ISAN) es un número de código de serie utilizado para identificar obras y versiones audiovisuales, como películas, programas de televisión o documentales. Utilizando el esquema urn:, los URI pueden identificar el ISAN sin necesidad de un protocolo o una forma de acceder a él.
Por ejemplo, urn:isan:0000-0004-87D7-0000-Q-0000-0000-6 se refiere a la película Los Vengadores: Endgame. Este utiliza un número audiovisual para identificar un recurso sin revelar su ubicación al usuario.
Números de teléfono
Un URI puede identificar un recurso utilizando una cadena de marcación, incluyendo un punto de terminación de red (NTP) con la información de enrutamiento de la llamada. El esquema tel: es sólo un Identificador Único Global (GUID) y no hace referencia a ningún dispositivo físico.
Por ejemplo, tel:+1-816-555-6666 describe un GUID como el número de teléfono estándar en EEUU.
Acceso Remoto
Telnet es un protocolo de red en el que se utilizan URIs para especificar el acceso a un ordenador o host remoto a través de Internet. Por ejemplo, telnet://192.0.2.16:80/ conecta con 192.0.2.16 en el puerto 80.
Telnet se utiliza habitualmente para probar o solucionar problemas de servidores web o de correo de forma remota.
¿Cuándo utilizar URL?
Un Localizador Uniforme de Recursos (URL) especifica cómo acceder a un recurso en Internet describiendo su mecanismo de acceso principal, normalmente la ubicación en la red. Puede incluir el protocolo (como HTTP o FTP) y la dirección del recurso.
Las URL te permiten localizar todo tipo de contenidos en línea, como páginas web, imágenes y vídeos. Incorporar palabras clave en ellas puede aumentar la visibilidad de las páginas web en las búsquedas, beneficiando la optimización de tu sitio para los motores de búsqueda (SEO).
Sintaxis de la URL
Una URL es un tipo específico de URI que sigue la misma estructura sintáctica. Por tanto, todas las URL se ajustan a las normas establecidas para las URI, pero incluyen información adicional que señala la ubicación de un recurso.
A continuación se muestra un ejemplo de sintaxis de URL:
https://www.ejemplo.com/foro/preguntas/?tag=networking&order=newest#top
La URL anterior puede dividirse en los siguientes componentes:
Scheme: esquema
La primera parte de la sintaxis de la URL es un protocolo utilizado para recuperar un recurso. Un esquema de URL proporciona el tipo de aplicación que el dispositivo utiliza para abrir una URL.
Por ejemplo, FaceTime utiliza un esquema de URL facetime:// para realizar llamadas. Otros de los protocolos más utilizados para los esquemas de URL son:
- Protocolo de transferencia de hipertexto (HTTP): permite a los usuarios acceder a los datos de las páginas web mediante enlaces de hipertexto.
- Protocolo seguro de transferencia de hipertexto (HTTPS): protege la transmisión de datos entre el navegador del usuario y el sitio.
- Protocolo de transferencia de archivos (FTP): se utiliza para una transferencia de archivos entre diferentes dispositivos a través de una red.
Además, algunos protocolos de URL utilizan un enlace mailto para identificar direcciones de correo electrónico o un JDBC para especificar el acceso a la base de datos en función de los requisitos del usuario.
Authority: autoridad
Este componente va precedido de una doble barra. Contiene dos subcomponentes: un nombre de dominio y, opcionalmente, un puerto.
El nombre de dominio es el nombre registrado del recurso, como hostinger.com o google.com.
Si tienes una buena idea para tu nombre de dominio, no olvides comprobar su disponibilidad en un comprobador de dominios.Consejo profesional
En cuanto al puerto, es el número específico que identifica qué servicio web estás solicitando en un servidor web. Por ejemplo, el número de puerto para la URL HTTP es 80 y para la URL HTTPS es 443. Sin embargo, si el servidor web utiliza un protocolo estándar como HTTP o HTTPS, el puerto suele omitirse en la URL.
Path: ruta
Este elemento identifica la ubicación específica de una página web, una entrada u otros archivos a los que los usuarios quieren acceder dentro del nombre del dominio. Una ruta también contiene cualquier extensión de archivo de activos, como imágenes y documentos.
Sin embargo, no todas las URLs muestran el componente de la ruta. En muchos servidores web modernos, es posible que no se vea el componente de la ruta, ya que se puede omitir para acortar las URL. Algunos ejemplos de rutas son …/software/htp/index.html o …/forum/question/.
Query string: cadena de consulta
Esta cadena proporciona datos sobre el recurso en el servidor web y va precedida de un signo de interrogación. Suele contener un par de claves y valores separados por un ampersand. Por ejemplo, ?tag=networking&order=newest.
La cadena de consulta almacena datos, ya que el protocolo HTTP no tiene estados. Esto significa que cada solicitud es independiente y no se relaciona con la solicitud anterior. Como resultado, la conexión entre un navegador y un servidor web se cerrará automáticamente una vez que la solicitud del cliente finalice.
Además, la cadena se conoce como parámetros de consulta de la URL que pueden utilizarse para algún propósito, como los resultados de búsqueda de una página web. Ayudará a los usuarios a navegar por el contenido de un recurso.
Por ejemplo, los usuarios pueden encontrar fácilmente información sobre productos en una tienda online.
Fragment identifiers: identificadores de fragmento
Un identificador de fragmento o ancla suele aparecer al final de una URL y se introduce mediante un signo de almohadilla. Es un componente opcional para dirigir un navegador web a un recurso secundario. Hace referencia a una sección específica dentro de una página web.
En una página HTML, el navegador saltará a la sección específica etiquetada por un fragmento. Por ejemplo, si la URL es https://ejemplo.com/results.html#intro, irá directamente a la intro etiquetada en la página llamada results.html.
Casos de uso de URI
Los siguientes son ejemplos de uso de URL:
Direcciones de correo electrónico
Una URL puede especificar una dirección de correo electrónico utilizando el esquema mailto:, como mailto:abc@ejemplo.com. Proporciona un hipervínculo para enviar un correo electrónico directamente desde una página HTML.
Páginas Web
Las URL más utilizadas especifican direcciones web. A menudo denominada URL absoluta, este formato de URL incluye un protocolo, un nombre de dominio y una ruta.
Por ejemplo, https://www.ejemplo.com/noticias/negocios/ indica el protocolo, el nombre de dominio y la ruta del directorio. Dirige directamente a los usuarios a una sección específica del sitio web.
Redirecciones
Redirigir un recurso obsoleto a una nueva ubicación es otro uso común de las URL, especialmente cuando se traslada una página web.
Por ejemplo, si cambias la dirección de tu sitio web de https://www.blog.ejemplo.com a https://www.ejemplo.com/blog, podrías implementar una redirección 301. Al hacerlo, evitarás que tus visitantes reciban varios códigos de estado HTTP, como una página de error 404.
Páginas internas
Las URL pueden aparecer sin protocolo ni nombre de dominio, especificando únicamente la ruta. Enlazan un archivo concreto dentro del mismo dominio, lo que suele denominarse URL relativa.
Por ejemplo, la URL relativa de https://www.ejemplo.com/noticias/negocios/ es /noticias/negocios/.
Consejo profesional
Las buenas URL deben ser simples, definitivas y concisas. De este modo, los usuarios pueden hacerse una idea de lo que pueden esperar de la página.
Conclusión
Entender las diferencias entre URI y URL y su uso es esencial para quienes manejan sitios web. Por ejemplo, construir una API REST utilizando una estructura predecible y jerárquica de una URI o una URL puede mejorar el rendimiento de la API REST.
URI significa identificador de recursos uniforme, una cadena de caracteres que generalmente identifica un recurso por un nombre, una ubicación o ambos en Internet. Además, un URI puede diferenciar tipos de archivos y otros recursos.
Por otro lado, una URL o localizador de recursos uniforme es una cadena de caracteres que muestra la dirección del recurso y cómo acceder a él en la página web. Como la URL es una parte de la URI, siguen una estructura similar.
Esperamos que este artículo te haya ayudado a entender la diferencia entre un URI y un URL y cuándo utilizarlos. Por último, si tienes más preguntas, no dudes en compartirlas en la sección de comentarios más abajo.
URL vs URI – Preguntas frecuentes
A continuación algunas de las preguntas más comunes sobre URI vs URL.
¿Qué es un ejemplo de URL vs URI?
Un ejemplo de URI es https://www.ejemplo.com/index.html#fecha, que identifica un recurso específico con el identificador de fragmento #fecha. En cambio, la URL, que indica la ubicación del recurso, es https://www.ejemplo.com/index.html.
¿Cómo se relacionan las URIs y las URLs?
Las URLs son un tipo específico de URIs. Las URIs abarcan una gama más amplia de identificadores, incluidas las URLs y las URNs.
Tanto las URLs como las URIs identifican recursos. La diferencia es que las URLs especifican la ubicación exacta de un recurso en Internet para el acceso directo, mientras que las URNs proporcionan un identificador independiente de la ubicación.