Redirección del lado del cliente desconocido

1

Tengo un problema al analizar el tráfico con el sitio web de un cliente. Estoy usando el proxy ZAP para ver todas las solicitudes / respuestas. Ahora, aquí está el problema. Digamos que hago una solicitud a: www.example.com/index.html Nunca veo esa petición exacta en el proxy. Esa solicitud desencadena muchas otras solicitudes de scripts js, y también las solicitudes a www.example.com/api/documents, www.example.com/api/users, www.example.com/api/resetpasswords, etc. .pero nunca la petición principal. Cuando busco el index.html en todos los paquetes, la única coincidencia que puedo ver es en el campo de referencia de todas las solicitudes de example.com/api, cada una de ellas tiene index.html en el campo de referencia.

¿Qué tipo de redirección hay aquí? Intenté obtener el archivo principal index.html y sus principales secuencias de comandos, así como algunos comentarios sobre angular js. No hay redirecciones 30X involucradas, y si hubiera redirecciones dentro de algún javascript, debería ver la solicitud principal index.html que posteriormente carga los javascripts. ¿Cómo está ocurriendo esta redirección?

    
pregunta Percy 31.08.2016 - 22:13
fuente

1 respuesta

0

Si el cliente es un navegador, no hay garantía de lo que sucede exactamente. El índice se puede almacenar en caché. Además, algunos navegadores muestran redirecciones en la consola de la red mientras que el servidor nunca los envía. Comience por deshabilitar los cachés, las cookies y otro almacenamiento del lado del cliente (o use un modo de navegación privada). Por cierto, AngularJS usa un almacenamiento en caché extenso, por lo que estoy casi seguro de que es el caché.

Actualizar

  

No hay redirecciones 30X involucradas, y si hubo redirecciones   dentro de algún javascript,

No, de hecho no hay redirecciones involucradas, pero hay muchas respuestas 304. Explican el comportamiento que preguntas y lo que sucede es lo siguiente:

Para limitar el número de solicitudes, los servidores web pueden usar una técnica llamada etiquetas de entidad . Si el servidor web lo admite y está configurado para usarlos (Microsoft IIS es el predeterminado), al solicitarlo, el servidor calculará un hash para este documento (basado en la última vez que se modificó) e incluye este hash en la respuesta (encabezado de ETag). En las siguientes solicitudes, el cliente puede enviar este hash al servidor, que coincide con el hash con la ETag actual. Si coinciden, el servidor puede responder con una respuesta vacía 304 (no modificador).

Esta respuesta vacía si lo ves. Algunos navegadores no mostrarán estas respuestas, porque en esencia ' nada ha cambiado '. Si deshabilita el caché, el cliente omitirá los encabezados If- en la solicitud, lo que hará que el servidor reenvíe el documento.

Con almacenamiento en caché y ETags:

SinalmacenarunETags:

    
respondido por el Yorick de Wid 01.09.2016 - 11:16
fuente

Lea otras preguntas en las etiquetas