My friends and I often use the zip generation to download a whole directory (a few GB).
However, each of our downloads makes the server generate the zip even if the contents have not changed. But it’s not necessary.
What about keeping the temporary zip file (which can be removed by the garbage collector) ? The first person who wants to download the folder will make the server generate the zip. If other persons also download it and its content had not changed, the previously generated zip is sent.