Existem alguns recursos interessantes no HTML5 que você deve considerar usar cada vez mais.
Um deles é o atributo download , que permite definir um nome de download de arquivo separado do ponto de extremidade do link real. É muito útil se o arquivo for, por exemplo, gerado dinamicamente e tiver alguns nomes não amigáveis.
<!-- Download as "vacationPictures.zip" -->
<a href="/files/adlafjlxjewfasd89asd8f.zip" download="vacationPictures.zip">Download your pictures here</a>
Você não quer que seu usuário baixe algo como t3784tg7834t7.zip , não é?
Ah, o atributo download também força o navegador a baixar o arquivo vinculado, isso é particularmente útil ao lidar com arquivos PDF, pois o erro comum é servir links para esse tipo de arquivo, exigindo que o navegador aguarde enquanto baixa o arquivo inteiro em o fundo.