Los navegadores envían y reciben mucha información en los llamados “encabezados”; uno de estos es el encabezado User-Agent , que generalmente contiene información sobre el navegador, el motor de procesamiento e incluso el sistema operativo en el que se ejecuta.
Estrictamente hablando, un cliente no tiene que enviar esta información, pero generalmente lo hace, porque ayuda a que la aplicación web responda correctamente, por ejemplo, presentando el contenido en el formato correcto (móvil o de escritorio, por ejemplo), o para que se muestre correctamente dependiendo en el navegador
Los robots de rastreo web (los programas utilizados por los motores de búsqueda y otras entidades para rastrear automáticamente la web) también suelen identificarse de esta manera. Aquí hay una página que muestra cómo los bots más populares (incluido Google) se identifican por su encabezado de agente de usuario: Lista de cadenas de agente de usuario de rastreador
- ¿Alguien usa iPage? ¿Les gusta?
- ¿Vendemos nuestro tiempo y nuestra implicación para activar nuevas funciones en las plataformas web sociales?
- ¿Debo leer sobre algoritmos si estoy aprendiendo el desarrollo front-end?
- Cómo cambiar el nombre de la etiqueta HTML en JavaScript
- ¿Vale la pena hacer un entrenamiento de verano en desarrollo web?
Como otro ejemplo, aquí está el Agente de usuario de mi navegador:
Mozilla / 5.0 (X11; Linux x86_64) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 40.0.2214.111 Safari / 537.36
Si está ejecutando Chrome, Firefox o Internet Explorer, puede abrir las herramientas de desarrollador (creo que F12 lo abre en todas ellas), donde puede examinar las solicitudes y respuestas (la conversación entre el navegador y los servidores en Internet). Allí verás estos encabezados.
Sin embargo, un servidor web (o más bien la aplicación web) no sabrá la diferencia si esta información de encabezado no está presente. Pruebe esto: abra una consola y escriba:
telnet www.quora.com 80
Esto abre una conexión al servidor web http://www.quora.com (en el puerto 80, el puerto HTTP predeterminado). En el mensaje que sigue, ingrese
GET /
El servidor web responde con algún código HTML, aunque no sabe qué agente de usuario (navegador, etc.) envió la solicitud. Sin embargo, es posible que no todos los servidores web respondan igual; depende de cómo se programe el lado del servidor.