08 abril 2008

Cómo saber si una peticion 206 se ha descargado completamente un fichero en Apache I

Después de mucho investigar ya he dado con el fondo del asunto. De momento tengo el desarrollo teórico.

Resulta que cuando un cliente hace una petición de contenido parcial incluye dos cabeceras con este aspecto:
Content-Length: 8614278
Content-Range: bytes 4408479-13022756/13022757



Con una simple operación podemos saber si se ha descargado todo. Si al tamaño total del fichero le restamos el inicio del intervalo que pedimos, y ese resultado es igual a la longitud del contenido se lo ha descargado entero.

De momento he modificado el CustomLog de Apache para añadirlo al final y poder hacer las operaciones con el mismo script con el que contabilizo las descargas, de modo que he añadido esto al final:
\"%{Content-Range}o\" \"%{Content-Length}o\"


En la segunda parte desarrollaré cómo las contabilizo

No hay comentarios: