recorrer objetos llamar lista insertar ejemplos desde codigo array archivo javascript http http-headers

objetos - ¿Cómo accedo a los campos del encabezado de solicitud HTTP a través de JavaScript?



llamar javascript desde html (6)

Casi por definición, el JavaScript del lado del cliente no está en el extremo receptor de una solicitud http, por lo que no tiene encabezados para leer. Más comúnmente, su JavaScript es el resultado de una respuesta http. Si intenta obtener los valores de la solicitud http que generó su respuesta, tendrá que escribir el código del lado del servidor para insertar esos valores en el JavaScript que produce.

Es un poco complicado tener un código del lado del servidor para generar el código del lado del cliente, así que asegúrese de que eso es lo que necesita. Por ejemplo, si desea la información del agente de usuario, puede encontrar suficiente para obtener los diversos valores que JavaScript proporciona para la detección del navegador. Comience con navigator.appName y navigator.appVersion.

Quiero capturar los campos del encabezado de solicitud HTTP, principalmente Referer y User-Agent, dentro de mi JavaScript del lado del cliente. ¿Cómo puedo acceder a ellos?

Google Analytics logra obtener los datos a través de JavaScript que incrustan en sus páginas, por lo que definitivamente es posible.

Relacionado:
Acceder a los encabezados HTTP de la página web en JavaScript


Me imagino que Google capta parte del lado del servidor de datos: recuerde que cuando una página se carga en su navegador que tiene código de Google Analytics, su navegador realiza una solicitud a los servidores de Google; Google puede obtener datos de esa manera, así como a través del JavaScript incrustado en la página.


Referer y user-agent son encabezado de solicitud, no encabezado de respuesta.

Eso significa que se envían mediante un navegador, o su llamada ajax (que puede modificar el valor), y se deciden antes de obtener la respuesta HTTP.

Así que, básicamente, no está pidiendo un encabezado HTTP, sino una configuración de navegador.

El valor que obtienes de document.referer y navigator.userAgent puede no ser el encabezado real, sino una configuración de navegador.


Se puede acceder a esto a través de Javascript porque es una propiedad del documento cargado, no de su padre.

Aquí hay un ejemplo rápido:

<script type="text/javascript"> document.write(document.referrer); </script>

Lo mismo en PHP sería:

<?php echo $_SERVER["HTTP_REFERER"]; ?>


Si desea acceder a referrer y user-agent, estos están disponibles para Javascript del lado del cliente, pero no accediendo a los encabezados directamente.

Para recuperar el referente, use document.referrer .
Para acceder al user-agent, use navigator.userAgent .

Como otros han indicado, los encabezados HTTP no están disponibles, pero usted específicamente preguntó acerca del referer y user-agent, que están disponibles a través de Javascript.


var ref = Request.ServerVariables("HTTP_REFERER");

Escriba dentro de las comillas cualquier otro nombre de variable de servidor que desee.