Página principal » cómo » ¿Qué es el agente de usuario de un navegador?

    ¿Qué es el agente de usuario de un navegador?

    Su navegador envía su agente de usuario a cada sitio web al que se conecta. Hemos escrito sobre cambiar el agente de usuario de su navegador antes, pero de todos modos, ¿qué es exactamente un agente de usuario??

    Un agente de usuario es una "cadena", es decir, una línea de texto, que identifica el navegador y el sistema operativo del servidor web. Esto suena simple, pero los agentes de usuario se han convertido en un desastre con el tiempo.

    Los basicos

    Cuando su navegador se conecta a un sitio web, incluye un campo User-Agent en su encabezado HTTP. El contenido del campo de agente de usuario varía de un navegador a otro. Cada navegador tiene su propio agente de usuario distintivo. Esencialmente, un agente de usuario es una forma para que un navegador diga "Hola, soy Mozilla Firefox en Windows" o "Hola, soy Safari en un iPhone" a un servidor web.

    El servidor web puede utilizar esta información para servir diferentes páginas web a diferentes navegadores web y diferentes sistemas operativos. Por ejemplo, un sitio web podría enviar páginas móviles a navegadores móviles, páginas modernas a navegadores modernos y un mensaje de "actualice su navegador" a Internet Explorer 6.

    Agentes de usuario que examinan

    Por ejemplo, aquí está el agente de usuario de Firefox en Windows 7:

    Mozilla / 5.0 (Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0

    Este agente de usuario le dice bastante al servidor web: el sistema operativo es Windows 7 (nombre en código Windows NT 6.1), es una versión de Windows de 64 bits (WOW64) y el navegador en sí es Firefox 12.

    Ahora echemos un vistazo al agente de usuario de Internet Explorer 9, que es:

    Mozilla / 5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)

    La cadena de agente de usuario identifica el navegador como IE 9 con el motor de renderizado Trident 5. Sin embargo, puedes encontrar algo confuso: IE se identifica a sí mismo como Mozilla.

    Volveremos a eso en un minuto. Primero, examinemos el agente de usuario de Google Chrome, también:

    Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, como Gecko) Chrome / 19.0.1084.52 Safari / 536.5

    La trama se complica: Chrome pretende ser tanto Mozilla como Safari. Para entender por qué, tendremos que examinar el historial de los agentes de usuario y los navegadores.

    El agente de usuario String Mess

    Mosaico fue uno de los primeros navegadores. Su cadena de agente de usuario fue NCSA_Mosaic / 2.0. Más tarde, apareció Mozilla (que luego se renombró como Netscape), y su agente de usuario fue Mozilla / 1.0. Mozilla era un navegador más avanzado que Mosaic, en particular, era compatible con marcos. Los servidores web verificaron que el agente de usuario contenía la palabra Mozilla y enviaba páginas con marcos a los navegadores de Mozilla. A otros navegadores, los servidores web enviaron las páginas antiguas sin marcos..

    Finalmente, apareció Internet Explorer de Microsoft y también admitía marcos. Sin embargo, IE no recibió páginas web con marcos, porque los servidores web los enviaron a los navegadores Mozilla. Para solucionar este problema, Microsoft agregó la palabra Mozilla a su agente de usuario e introdujo información adicional (la palabra "compatible" y una referencia a IE). Los servidores web estaban felices de ver la palabra Mozilla y enviaron a IE las páginas web modernas. Otros navegadores que vinieron después hicieron lo mismo..

    Finalmente, algunos servidores buscaron la palabra Gecko, el motor de renderizado de Firefox, y ofrecieron a los navegadores de Gecko páginas diferentes a los navegadores más antiguos. KHTML, originalmente desarrollado para Konquerer en el escritorio KDE de Linux, agregó las palabras "como Gecko" para que también obtuvieran las páginas modernas diseñadas para Gecko. WebKit se basó en KHTML: cuando se desarrolló, agregaron la palabra WebKit y mantuvieron la línea original "KHTML, como Gecko" por motivos de compatibilidad. De esta manera, los desarrolladores de navegadores continuaron agregando palabras a sus agentes de usuario a lo largo del tiempo.

    A los servidores web realmente no les importa cuál es la cadena exacta del agente de usuario, solo comprueban si contiene una palabra específica.

    Usos

    Los servidores web utilizan agentes de usuario para una variedad de propósitos, incluyendo:

    • Servir diferentes páginas web a diferentes navegadores web. Esto se puede usar para fines, por ejemplo, para servir páginas web más sencillas a navegadores más antiguos, o mal, por ejemplo, para mostrar un mensaje "Esta página web debe verse en Internet Explorer".
    • Visualización de contenido diferente a diferentes sistemas operativos, por ejemplo, al mostrar una página reducida en dispositivos móviles.
    • Recopilación de estadísticas que muestran los navegadores y sistemas operativos en uso por sus usuarios. Si alguna vez ve estadísticas de participación de mercado en el navegador, así es como se adquieren.

    Los robots de rastreo web también utilizan agentes de usuario. Por ejemplo, el rastreador web de Google se identifica como:

    Googlebot / 2.1 (+ http: //www.google.com/bot.html)

    Los servidores web pueden dar un tratamiento especial a los robots, por ejemplo, permitiéndolos a través de pantallas de registro obligatorias. (Sí, esto significa que a veces puede omitir las pantallas de registro configurando su agente de usuario en Googlebot).

    Los servidores web también pueden dar órdenes a bots específicos (o a todos los bots) usando el archivo robots.txt. Por ejemplo, un servidor web podría decirle a un bot específico que se vaya, o decirle a otro bot que solo indexe ciertas áreas del sitio web. En el archivo robots.txt, los robots se identifican por sus cadenas de agente de usuario.


    Todos los principales navegadores contienen formas de configurar agentes de usuario personalizados, para que pueda ver qué servidores web envían a diferentes navegadores. Por ejemplo, configure su navegador de escritorio con la cadena de agente de usuario de un navegador móvil y verá las versiones móviles de las páginas web en su escritorio.