Der Browser ist nicht blockiert solange?
Nein. Lies die FAQ, die hier schon zwei Mal verlinkt habe.
Wenn er denn nach dem Schema "letzte Bedienungshandlung gilt" arbeiten würde, wäre das ja achon mal super. Aber solange ein Download (im Hintergrund) läuft, reagiert das Teil meistens gar nicht auf Benutzerhandlungen. Ein User Abort ist da wohl nicht vorgesehen.
Zumindest objektiv betrachtet, liegst du hier falsch. Blockierende Anfragen gibt es in natura nur beim intialen Seiteaufbau, da können Stylesheets und Skriptdateien, die nicht mit [async] oder [defer] ausgezeichnet sind, und die sich nicht am Ende des Bodys befinden, das Rendering blockieren. In allen anderen Fällen, werden Netzwerk-Operationen von deinem Browser immer nicht-blockierend ausgeführt, du müsstest ihn schon mit Gewalt dazu zwingen, das Gegenteil zu tun, zum Beispiel indem du einen XMLHttpRequest ausdrücklich synchron auslöst, das ist aber ein Fall, den man immer vermeiden kann. Deine subjektive Wahrnehmung kann davon natürlich abweichen, insbesondere wenn du mit schwächerer Hardware hantierst, kannst du zu dem Eindruck gelangen, dass ein Download dein User-Interface blockiert, aber dann nimmst du vermutlich auch ganz andere Probleme mit der Performanz deines Gerätes wahr. Wenn dich das Thema interessiert, informier dich mal über den Event-Loop, dabei handelt es sich um den wesentlichen Baustein, der asynchronen Kontrollfluss in deinem Browser ermöglicht.