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

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

application/xspf+xml is a MIME type for an XML-based playlist format used by media players to store and share playlists. It defines how applications read data about media files and their play order.

Files with the extension XSPF use this format. The content inside is structured in XML, making it easy for different systems to interpret the playlist data.


For further details about this format, see the Wikipedia article on XSPF.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/xspf+xml    
  

HTML

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


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

Associated file extensions

FAQs

What is the application/xspf+xml MIME type used for?

This MIME type represents the XML Shareable Playlist Format (XSPF). It is used to define playlists in an open, portable XML structure, allowing media players to locate and play a sequence of audio or video files.

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

You should add the MIME type definition to your .htaccess file or main server configuration. Use the directive: AddType application/xspf+xml .xspf. This ensures browsers and players recognize the file as a playlist.

How do I enable XSPF support in Nginx?

Edit your mime.types file (typically found in /etc/nginx/) and add the entry: application/xspf+xml xspf;. After saving the file, reload Nginx to apply the changes.

Why does my browser display XML code instead of playing the playlist?

Most web browsers do not have native support to play XSPF playlists directly. They interpret the file as a generic XML document. To play it in a browser, you need to embed a web-based media player (like JPlayer or specific Flash/HTML5 players) that parses the XML.

What is the difference between XSPF and M3U?

While both are playlist formats, XSPF is XML-based and designed for portability (shareability) with rich metadata support. M3U is a simpler, plain-text format that lists file paths but lacks the structured data capabilities of XSPF.

Can I use text/xml instead of application/xspf+xml?

While text/xml is a valid parent type, it is not recommended. Using the specific application/xspf+xml subtype helps applications distinguish between a generic XML database and a playable media playlist.

Are there security risks associated with XSPF files?

As with any XML format, poorly written parsers can be vulnerable to XML External Entity (XXE) attacks. Additionally, playlists can contain links to malicious URLs, so you should verify the source of the file before opening it in a media player.

Which applications open files sent as application/xspf+xml?

Desktop media players such as VLC media player, Clementine, and Audacious natively support this format. You can also view the raw playlist structure using any text editor like Notepad++.

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.