User-Agent Client Hints es una nueva expansión de la APIConcepto de API¿Qué es una API?Una API, siglas de Application Programming Interface o Interfaz de Programación de Apps, es un recopilatorio de código que se puede emplear para que varias apps se comuniquen entre ellas. Es algo que realiza una tarea equivalente a la interfaz de usuario al momento de promover la interacción entre persona y programa, solo que aplicado única y exclusivamente dentro del entorno del software.Aún cuando suene Plus de Client Hints, que posibilita a los desarrolladores ingresar a información sobre el BrowserUn navegador (además: browser) es una herramienta informática que te permite ver documentos y datos y navegar por la red. Los navegadores pueden mostrar distintos tipos de recursos de información; principalmente documentos HTML, a pesar de todo, además son posibles otros tipos de archivos y contenido multimedia, como PDF, JPEG, MPEG, GIF o el lenguaje de meta marcado. A través el uso de complementos especiales y la configuración respectivo, los Plus de un usuario de una manera ergonómica y que preserva la privacidad.


Aktualisiert

Es erscheint in:
Gesichert und geladen

Las sugerencias de cliente posibilitan a los desarrolladores solicitar activamente información sobre el dispositivo o las condiciones del usuario, en lugar de tener que analizarla fuera de la cadena de usuario-agente (UA). Proporcionar esta ruta alternativa es el primer paso para disminuir eventualmente la granularidad de las cadenas de usuario-agente.

Erfahren Sie, wie Sie Ihre vorhandenen Funktionen aktualisieren, die auf dem Parsen der Benutzer-Agent-Kette beruhen, um Benutzer-Agent-Client-Hinweise zu verwenden.

Hintergrund

Cuando los BrowserConcepto de Navegadores¿Qué son los Navegadores?Los Navegadores son herramientas informáticas que utilizamos para, normalmente, navegar por Internet y visitar cualquier página web, al mismo tiempo de para hacer otras tareas como ver documentos, observar vídeos o reproducir contenido multimedia de cualquier tipo. Son un tipo de software sencillamente usual y bastante utilizado hoy en día.Insistimos en que es algo que se utiliza con mucha frecuencia, puesto que moverse por Internet Plus web realizan solicitudes, incluyen información sobre el navegador y su entorno para que los servidores puedan habilitar el análisis y personalizar la respuesta. Esto se definió en 1996 (RFC 1945 para HTTPEl HTTP (Hyper Text Transfer Protocol) es un protocolo que se usa para transmitir datos en redes. HTTP es un estándar técnico generalmente aceptado que establece cómo un cliente web se comunica con un servidor para que los datos solicitados por el cliente puedan ser cargados y mostrados. Información general Junto con el URL y el HTML, HTTP es uno de los conceptos más importantes de Internet (www). Fue desarrollado Plus / 1.0), donde puede hallar el ursprüngliche Definition der Zeichenfolge User-Agent, die ein Beispiel enthält:

User-Agent: CERN-LineMode / 2.15 libwww / 2.17b3

Este encabezado estaba destinado a especificar, en orden de relevancia, el producto (a modo de ejemplo, navegador o biblioteca) y un comentario (a modo de ejemplo, versión).

Der Status der Benutzeragentenzeichenfolge

Über die Intervention Jahrzehnte, esta cadena ha acumulado una gama de detalles adicionales sobre el cliente que realiza la solicitud (así como cruft, debido a la compatibilidad con versiones anteriores). Podemos ver eso cuando miramos la cadena actual de User-Agent de Chrome:

Mozilla / 5.0 (Linux; Android 10; Pixel 3) AppleWebKit / 537.36 (KHTML, wie Gecko) Chrome / 84.0.4076.0 Mobile Safari / 537.36

La cadena anterior contiene información sobre el sistema operativo y la versión del usuario, el modelo del dispositivo, la marca del navegador y la versión completa, pistas suficientes para inferir que es un navegador teléfono celular y sin mencionar una serie de referencias a otros navegadores por razones históricas.

Die Kombination dieser Parameter mit der großen Vielfalt möglicher Werte bedeutet, dass die User-Agent-Zeichenfolge genügend Informationen enthalten kann, damit einzelne Benutzer eindeutig identifiziert werden können. Wenn Sie Ihren eigenen Browser unter testen
AmIUniqueSie können sehen, wie nah Sie
Die Benutzeragentenzeichenfolge identifiziert Ihre. Je niedriger der resultierende "Ähnlichkeitsindex" ist, desto eindeutiger werden Ihre Anforderungen, desto einfacher können Server Sie verdeckt verfolgen.

Die User-Agent-Kette ermöglicht viele Anwendungsfälley tiene un propósito importante para los desarrolladores y propietarios de sitios. A pesar de todo, además es fundamental que la privacidad de los usuarios esté protegida contra métodos de seguimiento encubiertos, y el envío de información de UA de forma predeterminada va en contra de ese Ziel¿Qué es un objetivo?En marketing, un objetivo es el resultado que se pretende alcanzar en un periodo de tiempo, a través el uso de los recursos disponibles. Por tanto, se debe formular de una forma clara y hace falta que sea accesible y medible. Plus.

Además existe la necesidad de mejorar la compatibilidad web cuando se trata de la cadena Usuario-Agente. No está estructurado, por lo que analizarlo genera una complejidad innecesaria, que usualmente es la causa de errores y problemas de compatibilidad del sitio que perjudican a los usuarios. Estos problemas además perjudican de forma desproporcionada a los usuarios de navegadores menos habituales, puesto que es factible que los sitios no hayan podido probar su configuración.

Presentación de las nuevas sugerencias de cliente de User-AgentEl agente de usuario o agente es el identificador o nombre con el que un programa inicia sesión en el servidor web para solicitar un documento. El nombre se pasa por medio de del encabezado HTTP. Los programas de software y los robots de los motores de búsqueda pueden identificarse con este nombre. El agente de usuario permite ver precisamente cuándo un robot de motor de búsqueda visitó el portal Plus

Client-Vorschläge für Benutzeragenten
permitir el acceso a la misma información pero de una manera más preservada de la privacidad, lo que a su vez posibilita que los navegadores reduzcan eventualmente el valor predeterminado de la cadena Usuario-Agente de transmitir todo. Vorschläge für den Kunden Aplicar un modelo en el que el ServerLos servidores son ordenadores centrales y potentes dentro del campo de la tecnología de la información que procesan y proporcionan software y archivos en una red. Desde el punto de vista de un cliente, varios ordenadores en una red pueden ponerse en contacto con el servidor central para conseguir la información solicitada. En la arquitectura cliente-servidor, el servidor puede ser un software que proporciona un servicio y se ejecuta en Plus debe solicitar al navegador un recopilatorio de datos sobre el cliente (las sugerencias) y el navegador aplica sus propias políticas o configuración de usuario para establecer qué datos se devuelven. Esto significa que en lugar de exponer alle
La información de Usuario-Agente de forma predeterminada, el acceso ahora se gestiona de forma explícita y auditable. Los desarrolladores además se benefician de una API más simple: ¡no más expresiones regulares!

Die aktuellen Kundentipps beschreiben hauptsächlich die Verbindungs- und Anzeigefunktionen des Browsers. Sie können die Details in erkunden Automatisieren Sie die Ressourcenauswahl mit Kundenfeedback, pero aquí hay un repaso rápido sobre el procedimiento.

Der Server fordert bestimmte Clientvorschläge über einen Header an:

⬇️ Serverantwort

Accept-CH: Ansichtsfenster-Breite, Breite

Oder ein Meta-Tag:

<meta http-equiv="Akzeptiere-CH" Inhalt="Viewport-Width, Width" />

Después, el navegador puede elegir por enviar los siguientes ÜberschriftenConcepto de Encabezados¿Qué son los Encabezados?Los Encabezados, además conocidos como headers en inglés, son una parte fundamental del diseño de cualquier web, dado que consiste en la parte principal que se ve de esta al acceder, la parte de arriba de cualquier página. El lugar más visible y al que todos los usuarios que visitan un lugar de Internet acceden cuando entran en él, pudiendo tener así una imagen rápida Plus en solicitudes posteriores:

⬆️ Nachträgliche Anfrage

Viewport-Width: 460
Width: 230

El servidor puede elegir por variar sus respuestas, a modo de ejemplo, ofreciendo imágenes con una resolución adecuada.

Hay discusiones en curso sobre la habilitación de las sugerencias del cliente en una solicitud inicial, pero debe considerar un diseño receptivo o una fortschreitende VerbesserungLa mejora progresiva es una estrategia de diseño web diseñada para permitir que el contenido básico de una web se muestre independientemente de la tecnología del navegador, la conexión a Internet o el tipo de dispositivo final. A la vez, no obstante, la web en cuestión además debería ofrecer una versión completa diseñada para satisfacer los mejores requerimientos técnicos posibles. Un resultado de esta estrategia es un diseño responsive. Una Plus antes de seguir esta ruta.

Las sugerencias de cliente de agente de usuario amplían la gama de propiedades que se pueden especificar a través de el Akzeptiere-CH Server-Antwortheader. Wenn der Browser Informationen zurückgibt, verwendet er die Sec-CH-UA Präfix. Für alle Details beginnen Sie mit der Erklärer y posteriormente sumergirse en el iniciativa completa.

El nuevo conjunto de sugerencias se encuentra disponible en Chromium 84, por lo tanto exploremos cómo funciona todo.

Client-Tipps für Benutzeragenten in Chromium 84

Client-Vorschläge für Benutzeragenten werden in stabilen Chrome-ähnlichen Versionen nur schrittweise aktiviert
Kompatibilitätsbedenken sind gelöst. Stellen Sie Folgendes sicher, um die Testfunktionalität zu erzwingen:

  • sind auf Chrome 84 Beta o idéntico
  • Aktivieren Sie die chrome://flags/#enable-experimental-web-platform-features Flagge

De manera predeterminada, el navegador devuelve la marca del navegador, la versión significativa / principal y un indicador si el cliente es un dispositivo teléfono celular:

⬆️ Alle Anfragen

Sec-CH-UA: "Chromium";v="84", "Google Chrome";v="84"
Sec-CH-UA-Mobile: ?0

Vorsicht:
Estas propiedades son más complejas que un solo valor, por lo que Encabezados estructurados
se usan para representar listas y valores booleanos.

Benutzeragentenantworten und Anforderungsheader

⬇️ Antwort
Akzeptiere-CH
⬆️ Anfrage
Header
⬆️ Anfrage
Beispielwert
Beschreibung
UA Sec-CH-UA "Chrom"; v = "84",
"Google Chrome"; v = "84"
Liste der Browsermarken und ihrer signifikanten Version.
UA-Mobile Sec-CH-UA-Mobile ?1 Booleano que indica si el navegador está en un dispositivo teléfono celular (?1 wirklich) oder nicht (?0 durch falsch).
UA-Vollversion Sec-CH-UA-Vollversion "84.0.4143.2" Die Vollversion für den Browser.
UA-Plattform Sec-CH-UA-Plattform "Android" La plataforma del dispositivo, de forma general el sistema operativo (SO).
UA-Platform-Version Sec-CH-UA-Plattform-Version "10" Die Version für die Plattform oder das Betriebssystem.
UA-Arch Sec-CH-UA-Arch "ARM64" La arquitectura subyacente del dispositivo. Aunque esto puede no ser relevante para mostrar la página, es factible que el sitio desee ofrecer una descarga con el formato correcto de forma predeterminada.
UA-Modell Sec-CH-UA-Modell "Pixel 3" Das Gerätemodell.
Fallstricke!

Datenschutz- und Kompatibilitätsüberlegungen bedeuten, dass der Wert leer sein, nicht zurückgegeben oder mit einem variablen Wert gefüllt werden kann. Dies ist bekannt als
FETT.

Beispiel Austausch

Ein Beispielaustausch würde folgendermaßen aussehen:

⬆️ Erste Browseranfrage
Der Browser fordert die / Downloads
Site-Seite und sendet Ihren Standard-Basis-User-Agent.

GET /downloads HTTP/1.1
Host: example.site

Sec-CH-UA: "Chromium";v="84", "Google Chrome";v="84"
Sec-CH-UA-Mobile: ?0

⬇️ Serverantwort
El servidor devuelve la página y, al mismo tiempo, solicita la versión completa del navegador y la plataforma.

HTTP/1.1 200 OK
Accept-CH: UA-Full-Version, UA-Platform

⬆️ Nachfolgende Anfragen
Der Browser gewährt dem Server Zugriff auf die zusätzlichen Informationen und sendet die zusätzlichen Vorschläge in allen nachfolgenden Antworten.

GET /downloads/app1 HTTP/1.1
Host: example.site

Sec-CH-UA: "Chromium";v="84", "Google Chrome";v="84"
Sec-CH-UA-Mobile: ?0
Sec-CH-UA-Vollversion: "84.0.4143.2"
Sec-CH-UA-Plattform: "Android"

API de JavaScriptJavaScript es un lenguaje de programación que funciona en el lado del cliente y con el que las webs pueden ser más funcionales. Incorporación en código HTML El código JavaScript puede ser incrustado en las páginas HTML, para que adquieran funcionalidad. Existen varias opciones. Puede estar entre las etiquetas <SCRIPT> y </SCRIPT>, puede estar contenido en un archivo externo, puede ser un parámetro de las etiquetas HTML, y puede estar Plus

Al mismo tiempo de los encabezados, además se puede ingresar al User-Agent en JavaScript a través de
navigator.userAgentData. Der Standardwert Sec-CH-UA y Sec-CH-UA-Mobile se puede ingresar a la información del encabezado a través del Marken y Handy, Mobiltelefon Eigenschaften jeweils:


console.Log(Navigator.userAgentData.Marken);


[
{
brand: 'Chromium',
version: '84',
},
{
brand: 'Google Chrome',
version: '84',
},
];


console.Log(Navigator.userAgentData.Handy, Mobiltelefon);


falsch;

Auf zusätzliche Werte wird über die zugegriffen getHighEntropyValues () Anruf. Der Begriff "hohe Entropie" bezieht sich auf Informationsentropie, dicho de otra forma, la cantidad de información que estos valores revelan sobre el navegador del usuario. Del mismo modo que con la solicitud de encabezados adicionales, depende del navegador qué valores, si corresponde, se devuelven.


Navigator
.userAgentData.getHighEntropyValues(
["architecture", "model", "platform", "platformVersion",
"uaFullVersion"])
.then(ua => { console.Log(ua) });


{
"architecture": "x86",
"model": "",
"platform": "Linux",
"platformVersion": "",
"uaFullVersion": "84.0.4143.2"
}

Manifestation

Sie können sowohl die Header als auch die JavaScript-API auf Ihrem eigenen Gerät unter testen
user-agent-client-hints.glitch.me.

Asegúrese de que está usando Chrome 84 Beta o idéntico con
chrome://flags/#enable-experimental-web-platform-features aktiviert.

Lebenszeitvorschlag und Zurücksetzen

Sugerencias especificadas a través de el Akzeptiere-CH El encabezado se enviará durante la sesión del navegador o hasta que se especifique un recopilatorio distinto de sugerencias.

Das heißt, wenn der Server sendet:

⬇️ Antworten

Accept-CH: UA-Vollversion

Dann sendet der Browser die Sec-CH-UA-Vollversion Header für alle Anforderungen für diese Site, bis der Browser geschlossen wird.

⬆️ Nachfolgende Anfragen

Sec-CH-UA-Vollversion: "84.0.4143.2"

A pesar de todo, si otro Akzeptiere-CH Header wird empfangen, dann das reemplazar absolutamente aktuelle Vorschläge vom Browser gesendet.

⬇️ Antworten

Accept-CH: UA-Plattform

⬆️ Nachfolgende Anfragen

Sec-CH-UA-Plattform: "Android"

El anteriormente solicitado Sec-CH-UA-Vollversion wird nicht gesendet.

Es ist besser an ihn zu denken Akzeptiere-CH encabezado que especifica el conjunto completo de sugerencias deseadas para esa página, lo que significa que el navegador envía las sugerencias especificadas para todos los subrecursos en esa página. Aunque las sugerencias persistirán hasta la siguiente navegación, el sitio no debe confiar ni hacerse cargo que se entregarán.

Erfolg:
Asegúrese siempre de poder ofrecer una experiencia significativa sin esta información. Esto es para impulsar la experiencia del usuario, no para definirla. ¡Es por esto que se llaman «pistas» y no «respuestas» o «requerimientos»!

Además puede utilizar esto para eliminar de manera efectiva todas las sugerencias enviadas por el navegador enviando un espacio en blanco Akzeptiere-CH In Beantwortung. Fügen Sie dies an einer Stelle hinzu, an der der Benutzer die Einstellungen zurücksetzt oder sich von Ihrer Site abmeldet.

Este patrón además coincide con el funcionamiento de las sugerencias a través del
Hashtag. Die angeforderten Vorschläge werden nur in Anfragen gesendet, die von der Seite initiiert wurden, und nicht in einer nachfolgenden Navigation.

Umfang der Vorschläge und Ursprungsanfragen

De manera predeterminada, las sugerencias del cliente solo se enviarán en solicitudes del mismo origen. Eso significa que si pide sugerencias específicas sobre httpsHTTPS (protocolo de Transferencia de Hiper-Texto) es un protocolo que permite determinar una conexión segura entre el servidor y el cliente, que no puede ser interceptada por personas no autorizadas. En resumidas cuentas, es la versión segura de el http (Hyper Text Transfer Protocol) Cómo funciona Una conexión HTTP estándar en Internet puede ser fácilmente secuestrada por partes no autorizadas. El propósito de una conexión HTTPS es evitar esto: encriptar Plus://example.com, pero los recursos que desea aprovechar al máximo están en https://downloads.example.com Sie Ich werde es nicht tun
Vorschläge erhalten.

Para permitir sugerencias en solicitudes de origen cruzado, cada sugerencia y origen deben especificarse a través de un Funktionsrichtlinie Header. Dies gibt jeden Vorschlag an (vorangestellt) CH-) y la lista permitida de orígenes que deberían recibir la sugerencia. A modo de ejemplo:

⬇️ Antwort von example.com

Accept-CH: UA-Platform, DPR
Feature-Policy: ch-UA-Platform downloads.example.com;
ch-DPR cdn.provider img.example.com

⬆️ Anwendung downloads.example.com

Sec-CH-UA-Plattform: "Android"

⬆️ Anfragen für cdn.provider oder img.example.com

DPR: 2

¿Dónde usar las sugerencias de cliente de agente de usuario?

La solución rápida es que debe refactorizar cualquier instancia en la que esté analizando el encabezado User-Agent o haciendo uso de cualquiera de las llamadas de JavaScript que acceden a la misma información (dicho de otra forma, navigator.userAgent, navigator.appVersionoder navigator.platform), um stattdessen die Client-Hinweise des Benutzeragenten zu verwenden.

Llevando esto un paso más adelante, debe volver a evaluar el uso que hace de la información del agente de usuario y reemplazarla por otros métodos siempre y cuando sea factible. Habitualmente, puede alcanzar el mismo objetivo haciendo uso de la mejora progresiva, la detección de funciones o el diseño receptivo. El problema básico de confiar en los datos de usuario-agente es que siempre mantiene un mapeo entre la propiedad que está inspeccionando y el comportamiento que habilita. Es una sobrecarga de mantenimiento para asegurar que su detección sea completa y esté actualizada.

In Anbetracht dieser Vorbehalte ist die Das User-Agent Client Hints-Repository listet einige gültige Anwendungsfälle auf für Websites.

Was ist mit der User-Agent-Kette?

El plan es minimizar la capacidad de rastreo encubierto en la web reduciendo la cantidad de información de identificación expuesta por la cadena de Usuario-Agente existente sin causar interrupciones indebidas en los sitios existentes. La introducción de sugerencias de cliente de agente de usuario ahora le brinda la posibilidad de entender y experimentar con la nueva capacidad, antes de que se realicen cambios en las cadenas de agente de usuario.

Por último, la información en la cadena Usuario-Agente se reducirá para que mantenga el formato heredado y, a la vez, solo proporcione el mismo navegador de alto nivel y la información de versión significativa según las sugerencias predeterminadas. En Chromium, este cambio se ha pospuesto hasta al menos 2021 para proporcionar tiempo adicional para que el ecosistema evalúe las nuevas capacidades de User Agent Client Hints.

Sie können eine Version davon testen, indem Sie die Option aktivieren
chrome://flags/#freeze-user-agent flag de Chrome 84. Esto devolverá una cadena con las entradas históricas por razones de compatibilidad, pero con detalles específicos. A modo de ejemplo, algo como:

Mozilla / 5.0 (Linux; Android 9; nicht spezifiziertes Gerät) AppleWebKit / 537.36 (KHTML, wie Gecko) Chrome / 85.0.0.0 Mobile Safari / 537.36

Foto von Sergey Zolkin
im
Unsplash