En las FAQ's tienes un ejemplo completo para descargar archivos incluso con opciòn "resume" por si usas algún gestor de descargas. Ahì usa bastantes cabeceras HTTP que puedes estudiar.
En la ducumentación oficial de header() también veras ejemplos (sobre todo en los comentarios de los usuarios de dicha función):
www.php.net/header
Un saludo,