What is MIME type "application/x-ms-dos-executable"?
A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.
application/x-ms-dos-executable identifies files built in the DOS MZ format. These files contain low-level binary code that the operating system can run directly. They follow an old header structure that begins with the signature âMZâ which was standard in early DOS systems.This MIME type is mainly found in legacy applications. It is typical for programs and dynamic libraries, like those marked by the EXE and DLL file formats.
- Legacy Compatibility: Used by older software running in DOS or compatibility modes.
- Executable Code: Contains compiled machine instructions that interact directly with system hardware.
- File Identification: The "MZ" header helps systems and security tools recognize these executables.
This MIME type helps operating systems and security programs treat the file as executable code, which is important for both running applications and scanning for malware. For more details on DOS executables, see this reference.
Associated file extensions
Usage Examples
HTTP Header
When serving content with this MIME type, set the Content-Type header:
Content-Type: application/x-ms-dos-executable
HTML
In HTML, you can specify the MIME type in various elements:
<a href="file.dat" type="application/x-ms-dos-executable">Download file</a>
Server-side (Node.js)
Setting the Content-Type header in Node.js:
const http = require('http');
http.createServer((req, res) => {
res.setHeader('Content-Type', 'application/x-ms-dos-executable');
res.end('Content here');
}).listen(3000);
Associated file extensions
FAQs
What files typically use the application/x-ms-dos-executable MIME type?
This MIME type is primarily used for Windows and DOS executable files (.exe) and Dynamic Link Libraries (.dll). It identifies files containing the MZ header, which signals to the operating system that the file contains binary code capable of running directly on the hardware.
Why do browsers download these files instead of opening them?
Web browsers cannot execute binary programs directly due to severe security risks and architectural differences. When a server sends a file with the application/x-ms-dos-executable header, the browser triggers a "Save As" dialog to download the file to the user's local disk.
How do I configure Apache to serve EXE files with this MIME type?
You can map the extensions in your .htaccess or httpd.conf file using the AddType directive. Add the line: AddType application/x-ms-dos-executable .exe .dll. This ensures the server sends the correct Content-Type header to the client.
What is the Nginx configuration for application/x-ms-dos-executable?
In your Nginx mime.types file or inside a types block within the server configuration, add the line: application/x-ms-dos-executable exe dll;. After saving the file, reload Nginx to apply the changes.
Is application/x-ms-dos-executable safe to open?
Files with this MIME type should be treated with caution. Because they contain executable code, they are a common vector for malware and viruses. Always scan files with extensions like exe or dll using antivirus software before running them.
Should I use application/octet-stream instead?
Yes, often application/octet-stream is preferred for serving executables. It is the generic MIME type for binary data and ensures that the browser treats the file as a download stream rather than attempting to interpret it. However, application/x-ms-dos-executable provides more specific metadata about the file format.
What does the "MZ" signature mean for this MIME type?
The MZ signature (hex 4D 5A) comprises the first two bytes of the file header. It stands for Mark Zbikowski, a key architect of MS-DOS. This signature allows systems to identify the file as a valid executable format compatible with DOS and Windows.
General FAQ
What is a MIME type?
A MIME (Multipurpose Internet Mail Extensions) type is a standard that indicates the nature and format of a document, file, or assortment of bytes. MIME types are defined and standardized in IETF's RFC 6838.
MIME types are important because they help browsers and servers understand how to process a file. When a browser receives a file from a server, it uses the MIME type to determine how to display or handle the content, whether it's an image to display, a PDF to open in a viewer, or a video to play.
MIME types consist of a type and a subtype, separated by a slash (e.g., text/html, image/jpeg, application/pdf). Some MIME types also include optional parameters.
How do I find the MIME type for a file?
You can check the file extension or use a file identification tool such as file --mime-type on the command line. Many programming languages also provide libraries to detect MIME types.
Why are multiple MIME types listed for one extension?
Different applications and historical conventions may use alternative MIME identifiers for the same kind of file. Showing them all helps ensure compatibility across systems.