What is MIME type "application/metalink+xml"?

A MIME type is a string that tells browsers and other tools how to handle a particular kind of file.

application/metalink+xml is a MIME type for files that use an XML-based format. It organizes download information in a structured way using XML. Files with the METALINK extension rely on this MIME type. It provides a list of download sources, multiple URLs, and file verification details. This helps download managers boost reliability and efficiency.

More details on how Metalink works can be found at Wikipedia.

Associated file extensions

Usage Examples

HTTP Header

When serving content with this MIME type, set the Content-Type header:


    Content-Type: application/metalink+xml    
  

HTML

In HTML, you can specify the MIME type in various elements:


    <a href="file.dat" type="application/metalink+xml">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/metalink+xml');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

What is the primary purpose of the application/metalink+xml MIME type?

This MIME type indicates that a file contains metadata about a download rather than the file itself. It provides download clients with a structured XML list of mirror URLs, cryptographic hashes for verification, and publisher information to ensure reliable and secure file transfers.

How do I configure Apache to serve .metalink files correctly?

To ensure your Apache server sends the correct header, add the following line to your .htaccess file or main configuration: AddType application/metalink+xml .metalink. This allows download managers to automatically recognize and process the mirror lists.

How do I add support for this MIME type in Nginx?

In your Nginx configuration (usually inside the http or server block, or within mime.types), add the directive: types { application/metalink+xml metalink; }. Restart Nginx to apply the changes.

Why does my browser display XML code instead of downloading the target file?

Most modern web browsers do not support Metalink natively and treat the file as generic XML text. To utilize the features of application/metalink+xml, you must install a download manager extension (like DownThemAll!) or use a standalone client like aria2.

How does application/metalink+xml enhance security?

Files served with this MIME type include checksums (such as MD5, SHA-1, or SHA-256) directly in the XML structure. Download clients use these hashes to automatically verify that the downloaded file has not been corrupted or tampered with during transfer.

Can I edit a file with the application/metalink+xml type manually?

Yes, because the underlying format is plain text XML. You can open a .metalink file in any text editor (like Notepad or VS Code) to manually add mirror URLs or update verification hashes.

Is application/metalink+xml compatible with Metalink 4.0?

While application/metalink+xml is the standard registration, Metalink 4.0 files often use the extension .meta4 and the MIME type application/metalink4+xml. However, many clients parse both formats if the XML structure is valid.

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.