El rastreo del navegador (también conocido como detección del navegador ) es un conjunto de técnicas utilizadas en sitios web y aplicaciones web con el fin de determinar el navegador web que está usando un visitante y para ofrecerle contenido apropiado al navegador. También se utiliza para detectar navegadores móviles y enviarles sitios web optimizados para dispositivos móviles. Esta práctica a veces se utiliza para eludir incompatibilidades entre navegadores debido a una mala interpretación de HTML , hojas de estilo en cascada (CSS) o el modelo de objetos de documento (DOM). Mientras que el Consorcio World Wide Webmantiene versiones centrales actualizadas de algunos de los estándares web más importantes en forma de recomendaciones; en la práctica, ningún desarrollador de software ha diseñado un navegador que se adhiera exactamente a estos estándares; La implementación de otros estándares y protocolos, como SVG y XMLHttpRequest , también varía. Como resultado, los diferentes navegadores muestran la misma página de manera diferente, por lo que se desarrolló el rastreo del navegador para detectar el navegador web con el fin de ayudar a garantizar una visualización uniforme del contenido.
Métodos de rastreo
Olfateo del lado del cliente
Las páginas web pueden utilizar lenguajes de programación como JavaScript que son interpretados por el agente de usuario , y los resultados se envían al servidor web . Por ejemplo:
var isIEBrowser = falso ; if ( ventana . ActiveXObject ) { isIEBrowser = true ; }// O, más corto: var isIE = ( ventana . ActiveXObject ! == undefined );
Este código lo ejecuta la computadora cliente y los resultados son utilizados por otro código para realizar los ajustes necesarios en el lado del cliente. En este ejemplo, se le pide a la computadora cliente que determine si el navegador puede usar una función llamada ActiveX . Dado que esta característica era propiedad de Microsoft, un resultado positivo indicará que el cliente puede estar ejecutando Internet Explorer de Microsoft . Sin embargo, este ya no es un indicador confiable desde el lanzamiento de código abierto de Microsoft del código ActiveX, lo que significa que puede ser utilizado por cualquier navegador.
Método de detección estándar del navegador
El servidor web se comunica con el cliente mediante un protocolo de comunicación conocido como HTTP o Protocolo de transferencia de hipertexto, que especifica que el cliente envía al servidor información sobre el navegador que se utiliza para ver el sitio web en una cadena de agente de usuario .
Sniffing del lado del servidor
Las amplias técnicas de navegación permiten un seguimiento de usuarios persistente incluso cuando los usuarios intentan permanecer en el anonimato. Consulte la huella dactilar del dispositivo para obtener más detalles sobre la toma de huellas dactilares del navegador, una técnica de rastreo de esteroides relativamente nueva y extensa del navegador.
Problemas y estándares
Muchos sitios web utilizan el rastreo del navegador para determinar si el navegador de un visitante no puede utilizar determinadas funciones (como JavaScript , DHTML , ActiveX o hojas de estilo en cascada ) y muestran una página de error si no se utiliza un determinado navegador. Sin embargo, es prácticamente imposible tener en cuenta la enorme variedad de navegadores disponibles para los usuarios. Por lo general, un diseñador web que utiliza el rastreo del navegador para determinar qué tipo de página presentar, probará los tres o cuatro navegadores más populares y proporcionará contenido adaptado a cada uno de ellos. Si un usuario está empleando un agente de usuario no probado, no hay garantía de que se sirva una página utilizable; por lo tanto, el usuario puede verse obligado a cambiar de navegador o evitar la página. El World Wide Web Consortium , que establece estándares para la construcción de páginas web, recomienda que los sitios web se diseñen de acuerdo con sus estándares y se organicen para " fallar correctamente " cuando se presenten en un navegador que no pueda manejar un estándar en particular.
Ver también
- Programación de computadoras
- HTTP
- navegador web
- Detección de características (desarrollo web) (sinónimo de "rastreo de navegador" en algunos contextos)
- Huella digital del navegador
- Modelo de objetos de documento
- Agente de usuario
- Estándares web
- Olfateando contenido