I've downloaded an APK from web, using the default browser and it can't be opened from the Browser -> Downloads.
It tells me "Can't open file"
But I can use a file browser (like OI File Browser) to browse and open this APK, and it works well.
What could be the problem here? Is it about the HTTP header?
It shouldn't be HTTP headers if the file has been downloaded successfully and it's the same file that you can open from OI.
A shot in the dark, but could it be that you are not allowing installation from unknown sources, and that OI is somehow bypassing that?
Settings > Applications > Unknown sources...
Answer extracted from comments which worked. Ensure the Content-Type is set to application/vnd.android.package-archive
I had this problem. Couldn't install apk via the Downloads app. However opening the apk in a file manager app allowed me to install it fine. Using OI File Manager on stock Nexus 7 4.2.1