Un localizador uniforme de recursos , conocido por el acrónimo URL ( literalmente , "localizador uniforme de recursos"), es una secuencia de caracteres que identifica de manera única la dirección de un recurso en una red informática , como un documento , una imagen , un video , por lo general presente en un servidor host y hecho accesible a un cliente [1] .
Se utiliza principalmente para indicar recursos web ( http ), recursos recuperables a través de protocolos de transferencia de archivos ( ftp ), recursos compartidos remotos ( smb ) o acceso a sistemas externos ( ssh ). La resolución de la URL en una dirección IP, que es necesaria para el enrutamiento con el protocolo IP , se realiza a través de DNS [1] [2] .
La estructura de una URL está codificada en el documento IETF RFC 3986 , escrito por Tim Berners-Lee , y normalmente consta de seis partes, algunas de las cuales son opcionales [3] [4] :
protocollo://[username[:password]@]host[:porta][</percorso>][?querystring][#fragment]
protocolo [5] [6] Identifica el protocolo , normalmente a nivel de aplicación , que se utilizará para acceder al servidor . Los protocolos más comunes son HTTP , HTTPS , FTP , MMS , etc. Si no se especifica el protocolo, el navegador suele utilizar el protocolo "http" por defecto. En algunos casos, el usuario puede ver la página cargada con el protocolo https, pero esto solo porque el servidor web ya ha sido contactado con el protocolo http y ha respondido al navegador con un código de estado de redireccionamiento (3xx, generalmente 301 o 302) [ 7] . : // Separador entre el protocolo y el resto de la URL: normalmente el host, u opcionalmente el nombre de usuario. nombre de usuario: contraseña @ (opcional) [8] [9] Inmediatamente después del protocolo, es posible especificar las credenciales de autenticación ( nombre de usuario y contraseña ) para acceder al recurso. Sin embargo, la autenticación de URL es extremadamente riesgosa, ya que las credenciales de inicio de sesión se envían al servidor en texto claro , es decir, sin cifrar . Además, este sistema se presta a técnicas de phishing que pueden inducir a error a los usuarios, llevándolos a un destino completamente diferente al esperado [10] . Por ejemplo , a primera vista puede parecer la URL de una página de www.sitosicuro.it, cuando en realidad conduce a www.truffatori.com.http://www.sitosicuro.it|[email protected] Durante varios años, una actualización del navegador obsoleto Internet Explorer [11] (832894) ha desactivado la función de autenticación, lo que hace que los intentos de phishing sean ineficaces. Otros navegadores como Firefox han mantenido la función, pero advirtiendo al usuario de un posible intento de phishing [12] . anfitrión [13] Identifica el servidor en el que reside el recurso. Puede estar representado directamente por una dirección IP o (más comúnmente) por un nombre de dominio que el software convierte en una dirección IP utilizando el servicio DNS . puerta (opcional) Identifica el puerto de servicio de red al que reenviar la solicitud. El número de puerto se puede omitir cuando coincide con el puerto estándar asociado con el protocolo indicado por la URL (por ejemplo, 80 para HTTP o 443 para HTTPS ) [14] . ruta (opcional) Ruta ( nombre de ruta [15] ) en el sistema de archivos del servidor que identifica el recurso (generalmente una página web, una imagen o un archivo multimedia). Si no se especifica el nombre del archivo, el servidor se puede configurar para devolver un archivo predeterminado [16] . cadena de consulta (opcional) [17] Si es necesario, al final de la URL es posible agregar una cadena de consulta separándola con el uso del símbolo "?". La cadena de consulta es una cadena de caracteres que permite pasar uno o más parámetros al servidor. Por lo general, la cadena de consulta tiene este aspecto: [...]?Parámetro1 = valor & parámetro2 = valor2. fragmento (opcional) [18] Si está presente, indica una parte o una posición dentro del recurso, al igual que la cadena de consulta es posible utilizar más parámetros, con la diferencia de que, al ser utilizados por el cliente para saber cómo moverse dentro de un recurso, no se enviarán. al servidor [ 19] . Normalmente, el fragmento tiene este formato: [...] # parámetro1 = valor & parámetro2 = valor2.Consulta de URL
Componentes de URL