2011-05-24 12 views
5

Actualmente estoy almacenando archivos en Azure Blob Storage y cuando solicito los archivos recibo un mensaje en firebug de 304 "La condición especificada utilizando el encabezado condicional HTTP (s) no se cumple "304: La condición especificada utilizando encabezados condicional HTTP no se cumple

He visto Azure Blob: "The condition specified using HTTP conditional header(s) is not met" y es una pregunta similar, pero no estoy leyendo el contenido en el uso de blob.openread, etc ... Solo estoy tratando de ver el contenido en una navegador.

Si realizo una actualización de control (ctrl y f5) en firefox recibo una respuesta de 200, por lo que se sirve correctamente. Establecí el control de la memoria caché (max-age = 3600, public) en el archivo que estoy devolviendo, pero todavía recibo este error/notificación.

Mi pregunta es, ¿debería preocuparme que cuando solicite el contenido que vuelve con esta respuesta?

cualquier consejo/pensamientos que tienes será recibida en gran medida

Gracias Steve

Respuesta

8

Si el contenido en Blob de almacenamiento no ha cambiado desde su navegador accedió por última vez el contenido, entonces este es el comportamiento correcto.

El código de estado HTTP 304 se define como "No modificado" (ver http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). Lo que yo esperaría es que su navegador haya enviado la ETag que recibió por última vez con el contenido a Blob Storage en el encabezado HTTP If-None-Match, y como esta ETag aún coincide con la ETag asociada con el contenido almacenado, no es necesario envíe una nueva versión por el cable.

Más sobre ETags aquí: http://en.wikipedia.org/wiki/HTTP_ETag. Puedes ver este comportamiento en acción a través de Fiddler.

FireFox Ctrl-F5 fuerza explícitamente una actualización, lo que significa que no se envía el encabezado If-None-Match. Por lo tanto, Blob Storage envía una nueva copia de la imagen por el cable.

+0

El contenido no está cambiando, por lo que es solo una actualización directa después de que la página se cargó una vez, por lo que parece que se comporta de esta manera. Gracias por responderlo, Jeremy. – Steve

Cuestiones relacionadas