2011-07-23 7 views
15

Estoy intentando depurar algún comportamiento complicado en mi aplicación web: parece que el cliente está enviando una solicitud XHR GET, pero el servidor en realidad nunca la recibe. Además, el cliente parece recibir datos duplicados en la solicitud no vista como la solicitud de XHR anterior que envía.¿Cómo interpretar los elementos grises en el panel Firebug Net?

Otras cuestiones de confusión, colores Firebug la segunda solicitud XHR como gris claro en el panel Net (la solicitud aquí es el tercero desde la parte inferior, el segundo "GET test"):

enter image description here

no he No he podido encontrar ninguna documentación sobre lo que significa este colorante. Creo que si entendiera esto, podría ayudar a explicar este comportamiento inusual.

Si alguien tiene alguna idea, le agradecería si pudiera informarme.

Respuesta

18

"Firebug color codes requests that are served from the cache in a lighter gray..."

Así que la razón el servidor no ve la petición es que el cliente en realidad nunca lo envía, simplemente se recibe la respuesta de su caché. Si está utilizando jQuery, existe una propiedad cache que puede usar en ajax() para evitar que se almacenen en caché las solicitudes AJAX. Si no está utilizando jQuery, puede adjuntar un parámetro ficticio al final de la URL de solicitud que tiene un valor de la hora actual en milisegundos (de hecho, esto es lo que jQuery creo).

url + "?v=" + (new Date()).getMilliseconds() 

Esto debería garantizar que la URL siempre sea única e impedir que el navegador use el almacenamiento en caché.

+0

+1 de todos modos hay algo que todavía no entiendo. Cuando cierras y vuelves a abrir Firefix en la misma página que estabas viendo anteriormente, Firefox hace todas esas solicitudes grises (de acuerdo con tu enlace, esas son peticiones hechas a la caché y no al servidor). Pero cuando navegas por el mismo sitio de una página a otra, Firefox ni siquiera hace esas solicitudes grises. Esto realmente me confunde, si esos archivos están siempre en la memoria caché, ¿por qué Firefox se comporta de manera diferente? Ver mi pregunta: http://stackoverflow.com/questions/10048740/ –

+0

Firefox implementa dos tipos de cachés. Un caché HTTP y un caché Back-Forward. Ver http://www.softwareishard.com/blog/firebug/firebug-16-tracking-also-bfcache-reads/. Solo las lecturas de BFCache se muestran actualmente en gris. –

+0

O podría indicar el tiempo de vida esperado de cada entidad en el encabezado HTTP de control de caché. O coloque suficiente información en la URL para identificar a la entidad de manera única, explotando el almacenamiento en caché si lo mismo se solicita posteriormente. – Szocske

Cuestiones relacionadas