[Alpha]{class="badge informative"}

Contexto y encabezados reenviados

En un explorador, Web SDK lee la dirección URL de la página, el tamaño de la pantalla, la zona horaria y otros detalles de la página y los agrega a cada evento. Un servidor no tiene ninguna página para leer, por lo que SDK agrega un conjunto más pequeño de datos de contexto. También reenvía detalles de la solicitud del visitante para que Edge Network pueda utilizarlos.

Detalles de implementación implementation-details

SDK agrega el objeto xdm.implementationDetails a cada evento. Este objeto identifica la biblioteca que envió el evento:

{
  "implementationDetails": {
    "name": "https://ns.adobe.com/experience/alloy-node",
    "version": "0.2.1",
    "environment": "server"
  }
}

El valor version coincide con la versión instalada del paquete @adobe/alloy-node. No puede desactivar estos datos.

Pasar la solicitud entrante request

Para agregar contexto sobre el visitante, pase la solicitud entrante a forRequest como propiedad de request:

const visitor = alloy.forRequest({ request: req });

El valor request puede ser cualquier objeto que tenga una propiedad headers, que incluya:

  • Un Node.js IncomingMessage del módulo node:http.
  • Un objeto de solicitud de un marco de trabajo creado en node:http, como Express o Fastify.
  • Una API de recuperación Request, que muchos tiempos de ejecución y marcos de trabajo de JavaScript del lado del servidor pasan a los controladores de solicitudes. Su propiedad headers es un objeto Headers.

Si genera un objeto sin formato, use nombres de encabezado en minúsculas, como { headers: { "user-agent": "..." } }.

Encabezados reenviados forwarded-headers

Cuando pasa un request, SDK copia los siguientes encabezados a cada solicitud que envía a Edge Network. Sin estos encabezados, Edge Network vería su servidor como el visitante, y las búsquedas de dispositivo y ubicación describirían su servidor en lugar de al visitante.

Header
Objetivo
User-Agent
Identifica el explorador y el dispositivo del visitante.
Accept-Language
Identifica los idiomas preferidos del visitante.
Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, Sec-CH-UA-Platform-Version, Sec-CH-UA-Arch, Sec-CH-UA-Bitness, Sec-CH-UA-Full-Version-List, Sec-CH-UA-Model, Sec-CH-UA-WoW64
User-Agent Client Hints, que describen el explorador y el dispositivo del visitante con más detalle. Consulte sugerencias del cliente agente de usuario.
X-Forwarded-For, Forwarded, X-Real-IP
Identifique la dirección IP del visitante cuando un proxy o un equilibrador de carga se encuentre frente al servidor.

SDK solo reenvía los encabezados de esta tabla. Nunca reenvía los encabezados Cookie, Authorization o Referer del visitante.

Edge Network usa estos encabezados para características como geolocalización y búsqueda de dispositivos, cuando están habilitados en el flujo de datos. Si el servidor se ejecuta detrás de un proxy o equilibrador de carga, asegúrese de que establece X-Forwarded-For o Forwarded en la dirección IP real del visitante.

Los exploradores envían solo algunas sugerencias de cliente de baja entropía de forma predeterminada. Para recibir a los demás, el servidor debe solicitarlos al explorador con el encabezado de respuesta Accept-CH.

Dirección URL de página del encabezado Referente page-url

Si la solicitud entrante tiene un encabezado Referer, SDK usa su valor como xdm.web.webPageDetails.URL. El encabezado Referer contiene la dirección de la página que realizó la solicitud, por lo que solo es precisa en algunos casos:

  • El explorador llama al servidor desde una página, por ejemplo con fetch: Referer contiene la dirección URL de esa página, que suele ser el valor que desea.
  • El explorador navega a una página que el servidor procesa: Referer contiene la página anterior, no la página que el visitante está viendo en este momento. Configure usted mismo la dirección URL de la página.
  • La solicitud cruza los orígenes: Los exploradores normalmente recortan Referer al origen, como https://www.example.com/, según el Referrer-Policy de la página.

Los valores que ha establecido en el objeto xdm tienen prioridad sobre el valor Referer. Para establecer la dirección URL de la página explícitamente:

await visitor.sendEvent({
  xdm: {
    eventType: "web.webpagedetails.pageViews",
    web: {
      webPageDetails: {
        URL: `https://www.example.com${req.url}`
      }
    },
    identityMap: {
      Email: [{ id: "visitor@example.com", primary: true }]
    }
  }
});

Datos que SDK no recopila. not-collected

Los siguientes datos que Web SDK puede recopilar en un explorador no tienen una fuente fiable en un servidor, por lo que Server SDK no los agrega:

  • Título de página, página de referencia y orientación de la pantalla
  • Tamaño de la pantalla, tamaño de la ventanilla móvil y posición de desplazamiento
  • Hora y zona horaria locales
  • El cliente user-agent de alta entropía sugiere que el explorador no envió la solicitud

Si su aplicación conoce alguno de estos valores, por ejemplo porque el explorador los envió al servidor, agréguelo usted mismo al objeto xdm.

recommendation-more-help
experience-platform-help-collection