Creo que depende de cuál sea tu motivación. Por ejemplo, en el sector web móvil, lo que intenta hacer es proporcionar al usuario algo que parezca sensato en su plataforma. ¿Por qué preocuparse por qué usuario-agente está informando el usuario, cuando es exclusivamente para su propio beneficio? Si se esfuerzan por engañarte con un agente de usuario diferente, entonces son la única persona que sufre. El principal problema, por supuesto, son los falsos positivos; no es del todo confiable.
que siguen el argumento de que no se debe confiar en él como tal, pero los desarrolladores móviles están bajo el ataque de amplias declaraciones genéricas como este. Sí, hay buenas alternativas, pero en todos los navegadores que pueda imaginar, esta información puede ser útil en algún momento dado que la certeza comienza a degradarse.
Lo que desde luego no siempre lo hace con cualquier encabezado de texto plano es usarlo para facilitar el control de acceso.
detección de agentes
usuario se considera malo cuando hay alternativas mejores, pero sin duda hay ningún daño en su inclusión en un proceso de detección que se degrada con gracia en certeza.
El problema que tengo con todo el proceso es que estamos atrapados en proporcionar al usuario algo sensato, pero nunca parecemos pensar que es aceptable preguntar cuando no está seguro. Si no está seguro acerca del usuario-agente, ¿por qué no preguntar una vez y almacenar? Puede usar el agente de usuario como una guía.
Así que para concluir mis pensamientos, esencialmente el encabezado de usuario-agente no es confiable, por lo que es malo para confiar en él. Esto no significa que no pueda extraer un grado de información valiosa de ella donde las opciones más confiables lo dejen en un estado incierto. En general, es incorrecto concluir que es malo. Es simplemente lo que haces con esta información lo que hace que sea malo o no.
actualización
Después de ver sus cambios a la pregunta, tengo los siguientes comentarios a contribuir. ¿Quiero estar oliendo las solicitudes de imágenes y proporcionando al cliente una imagen basada en el agente de usuario?
Si esta es la única variable, entonces tal vez podría funcionar, pero rara vez sucede que lo único que varía son las imágenes. No deseo detectar por solicitud porque Quiero servir al cliente una solución coherente. Esto significa que les proporcioné una página que hace que soliciten los recursos correctos. Esta página produce una única solución coherente para todos los recursos integrados. Todas las variaciones en este documento trabajan juntas para una vista particular.
Respeto que la posibilidad de que la cadena de agente de usuario cambie la vista media es tan delgada que no parece que valga la pena preocuparse. Sin embargo, la adopción de este principio también reduce la cantidad de veces que necesita realizar la detección del navegador/plataforma, lo cual solo puede ser beneficioso. Esto le permite cambiar las vistas en el cliente mucho más fácilmente. Si el cliente dice que en realidad tienes la vista equivocada, soy una tableta, no un teléfono, ¿cómo vas a corregir eso? Usted le brinda al usuario una mejor página, de lo contrario tendrá que simular encabezados para sus solicitudes de imágenes ... idea terrible. No utilice la cadena de agente de usuario para servir recursos genéricos como imágenes.
mejoras potenciales
identificación plataforma es un área muy activa de los desarrollos modernos en la web. A medida que la informática se hace más omnipresente y las plataformas varían mucho más ampliamente, aumenta nuestra necesidad de comprender las plataformas a las que prestamos servicios. Creo que la solución general a este problema en las condiciones actuales va a recaer en la toma de huellas digitales y el análisis estadístico.
Considere esta aplicación - akinator.com - Observe cómo el análisis estadístico de un gran conjunto de datos escasos es molestamente preciso. En un entorno limitado (el conjunto de configuraciones del navegador), puede imaginarse que podríamos hacerle algunas preguntas al navegador del cliente. Luego realizamos un análisis estadístico de la respuesta en algún espacio de características n-dimensional. Usar el agente de usuario como una dimensión de este espacio será útil y autolimitante, según los resultados que encuentre. Si es en gran parte inexacta, verá una gran dispersión, y la cantidad de valor que se deriva de ella será autolimitada.
Por supuesto, su capacidad para obtener cualquier valor de este modelo estadístico requiere que pueda obtener algunas verdades verificadas. Esto podría ser, por ejemplo, ejecutando un conjunto de pruebas de JavaScript para detectar las capacidades del lado del cliente js, o de hecho, en la incertidumbre, puede pedirle al usuario que le diga cuál es su plataforma.
Para la lectura adicional Yo te remito a este artículo por Mozilla
https://developer.mozilla.org/en/Browser_detection_using_the_user_agent
Hoy en día, en busca de estas cadenas son la única manera de saber que el dispositivo se ejecuta en un dispositivo móvil (o tableta) antes de servir el HTML .
No creo que sea tan ** malo ** como ** no fiable ** – Leigh
si piensas que es por eso que ves "Mozilla" en cada cadena de UA. Para responder a su pregunta, creo que debería ofrecer opciones, como lo hacen los sitios en la actualidad: redireccionan a los usuarios de dispositivos móviles pero aún así los ofrecen para ver el sitio "normal". – BiAiB
no consideren solo useragent. Análisis de huellas dactilares del navegador, como google et al do – jcolebrand