Le dowload n'est pas soumis au timeout parce que la requete HTTP au serveur a été satisfaite à partir du moment où tu as mis en relation le fichier et le client. Le temps mis par le client pour downloader le fichier n'est donc pas pris en compte dans le temps d'exécution du téléchargement.
Connaître son ignorance est la meilleure part de la connaissance Pour un code lisible : n'hésitez pas à sauter des lignes et indenter