The problem was serving 404 Not Found status with `Content-Disposition: attachment` and actual contents of the file. Opera hadn't had a problem with that, Firefox was confused.
If you would like to test your browser behavior, here is replicated behaviour of what i've done in the past: http://o7o.pl/down404.php
My results:
- Chromium-based browsers (tested on Chrome, Vivaldi, Opera Developer) shows generic Chromium error with `ERR_INVALID_RESPONSE` code.
- Firefox displays own page about resource not being found
- Edge (not Chromish) removes the url (if opened in new tab) and shows infinite loader in the tab favicon or just restores previous url (if going to the url from another page)
- Old Presto-based Opera (newest from 12.x) just downloads the file
- wget just returns 404 error
- Internet Explorer 11 shows own "page cannot be found" page
Can anyone test it on Safari on Mac?
I wonder which should be the correct behavior? Personally I am satisfied with just downloading the file ignoring 404 status.