El atributo download es una forma rapida para forzar la descarga de un archivo, puede ser un archivo multimedia o un PDF o una página web, etc. Esto es algo que solíamos hacer con código del lado del servidor y funcionaba mas o menos as :
Creabamos un archivo PHP force-download. php y pasabamos mediante una variable un argumento con el nombre del archivo a descargar.
<a href="force-download.php?file=download-webpage.html">Descargar pagina</a>
y del lado del servidor contábamos con el código para forzar la descarga.
function downloadFile($file){
$file_name = $file;
$mime = 'application/force-download';
header('Pragma: public'); // required
header('Expires: 0'); // no cache
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private',false);
header('Content-Type: '.$mime);
header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
header('Content-Transfer-Encoding: binary');
header('Connection: close');
readfile($file_name);
exit();
}
Esto es cosa del pasado, hoy basta con agregar a nuestro en enlace el atributo download y el navegador hará el resto.
<a href="download-webpage.html" download>Download Webpage HTML</a>
Puedes consultar la compatibilidad aqui , prácticamente es admitido por todos los navegadores a excepción de Safari en IOs y Opera mini


