URL y URI: qué diferencia hay y cuál usar

Autor: Publicado

En resumen: un URI es un identificador de un recurso, mientras que un URL es un identificador que también indica cómo acceder al recurso y dónde se encuentra. En la clasificación clásica, todo URL es un URI, pero no todo URI es un URL. Por tanto, puedes llamar a la dirección de una página web tanto URL como URI: ambas denominaciones son correctas, aunque en una conversación cotidiana suele resultar más claro decir «URL».

¿Qué significa URI?

URI son las siglas de Uniform Resource Identifier, es decir, identificador uniforme de recursos. Un recurso puede ser una página web, una fotografía, un documento, un elemento al que se accede mediante una API o incluso un objeto que no se puede descargar directamente de internet.

La función principal de un URI es identificar: señalar de qué recurso se trata. El identificador por sí solo no tiene por qué indicar dónde se encuentra ese recurso ni cómo acceder a él.

Un ejemplo es urn:isbn:9780131103627. Es un identificador de una publicación que utiliza su número ISBN. No señala una librería, una biblioteca ni un archivo descargable concretos. Identifica la publicación, pero no proporciona su dirección en internet.

Por tanto, URI es un concepto más amplio que el de dirección web. Es una categoría de identificadores que también incluye las conocidas direcciones que empiezan por https:.

¿Qué significa URL?

URL son las siglas de Uniform Resource Locator, es decir, localizador uniforme de recursos. Indica la ubicación de un recurso y el mecanismo para acceder a él, por ejemplo, mediante HTTPS.

Un ejemplo de URL es https://example.com/guia. Contiene la información que necesita el navegador para empezar a intentar acceder a la página indicada:

La dirección también puede contener un puerto, parámetros de consulta y un fragmento. En el ejemplo https://example.com/poradnik?jezyk=pl#wprowadzenie, la parte idioma=pl es un parámetro de consulta y introduccion identifica un fragmento del documento. El fragmento no se envía al servidor como parte de la petición HTTP; lo interpreta el software del lado del usuario.

Un URL no garantiza que el recurso exista o esté disponible. La dirección puede apuntar a una página eliminada, exigir que se inicie sesión o señalar un servidor que no responde. Sigue siendo un URL.

¿En qué consiste exactamente la diferencia?

La forma más sencilla de recordarla es mediante dos preguntas: un URI responde a «¿qué identificamos?», mientras que un URL permite determinar, además, «¿dónde y cómo intentar acceder?». No son dos categorías independientes: un URL es un caso particular de URI.

EjemploTipo¿Qué información aporta?
https://example.com/zdjecie.jpgURL y URIIndica la ubicación de la fotografía y cómo acceder a ella mediante HTTPS.
urn:isbn:9780131103627URI de tipo URNIdentifica la publicación, pero no indica su ubicación en la red.

URN, siglas de Uniform Resource Name (nombre uniforme de recursos), es un identificador basado en un nombre dentro de un espacio de nombres determinado. En el segundo ejemplo, ese espacio de nombres es ISBN. No necesitas utilizar URN para entender las direcciones web, pero este concepto ayuda a comprender por qué URI no es simplemente otra forma de decir URL.

Una comparación útil es la de un libro y su ubicación en una estantería. El número ISBN sirve para identificar una edición concreta, mientras que los datos sobre la biblioteca, la estantería y el estante ayudan a encontrarla. Es solo una analogía: un URL de internet puede identificar un recurso e indicar su ubicación al mismo tiempo.

¿Qué término conviene usar en la práctica?

Si pides la dirección de una página, un enlace a un producto o la dirección de un archivo, utiliza el término URL. Es preciso en ese contexto y no requiere explicar la categoría más amplia de los identificadores.

En la documentación técnica puedes encontrar el término URI incluso cuando el valor de ejemplo parece una dirección HTTPS corriente. No tiene por qué ser un error: el autor utiliza el concepto más amplio o la denominación adoptada por un estándar concreto. Si un campo de una API se llama redirect_uri, conserva exactamente ese nombre: no lo cambies por redirect_url solo porque estés proporcionando la dirección de una página.

También conviene distinguir una dirección completa de sus partes. example.com por sí solo es un nombre de dominio, mientras que /guia es una referencia relativa cuyo significado depende de la dirección base. Ninguna de estas expresiones aporta por sí sola la misma información que el URL completo https://example.com/guia.

¿Por qué a veces se usan estos términos indistintamente?

La clasificación clásica de los URI, que incluye los URL y los URN, explica bien la diferencia básica. Sin embargo, la terminología de los estándares no es completamente uniforme: el estándar WHATWG URL, utilizado en el entorno de los navegadores, emplea el concepto de URL y define sus propias reglas para procesar direcciones.

Por eso, al programar, importan más los requisitos de la biblioteca o la API concreta que el nombre empleado: si acepta direcciones completas, si admite referencias relativas y qué esquemas permite. Cuando rellenes un campo de «dirección web», introduce un URL completo; cuando implementes una integración, comprueba el formato que exige su documentación.

Véase también: ¿Qué es FreeBSD?

Lee también

Descubre cómo PHP-FPM atiende peticiones PHP, en qué se diferencia de un servidor web y cómo ajustar sus procesos al tráfico y los recursos.
Conoce BIND, el software abierto de servidor DNS: sus funciones, cómo gestiona dominios y cuándo conviene instalarlo por tu cuenta.
Descubre qué son el registro REGON de Polonia y su número, en qué se diferencian de NIP y KRS y cómo verificar los datos de una empresa.