Como suelo hacerlo, es necesario verlo desde los dos puntos de acceso.
1.- Ver la solucion desde el punto de vista del usuario (con sesiones o algo asi)
2.- Ver la solucion desde el punto de vista del servidor (guardando en base de datos el estado de la descarga o alguna otra opcion)
Hay muchas opciones que se me quedan en el tintero pero por ahi puedes ir jugando con ellas y ver cual es la que mas te acomoda.
Suerte!