What is MIME type "text/x-server-parsed-html3"?

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

The MIME type text/x-server-parsed-html3 is used for HTML files that the server processes before sending them to your browser. It tells the server to read and execute embedded commands, a process often called Server Side Includes (SSI).

This processing makes it easy to update common page elements like headers or footers. The server inserts dynamic content into the HTML file on the fly.


Files using this MIME type include ones with the extensions STM, SHTML, SHT, and SHTM.

For further technical details, check out the Apache SSI Documentation.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: text/x-server-parsed-html3    
  

HTML

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


    <a href="file.dat" type="text/x-server-parsed-html3">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', 'text/x-server-parsed-html3');    
      res.end('Content here');    
    }).listen(3000);    
  

Associated file extensions

FAQs

What is the purpose of the text/x-server-parsed-html3 MIME type?

This MIME type identifies HTML files containing Server Side Includes (SSI) commands that the web server must process before sending them to the client. It allows for dynamic content insertion, such as adding a common header or footer to multiple pages automatically.

Which file extensions are associated with text/x-server-parsed-html3?

This type is most commonly used with files ending in .shtml, .stm, .sht, and .shtm. These extensions signal to the server that the file contains embedded scripts or include directives that need to be parsed.

Why is my SHTML file downloading instead of displaying in the browser?

If a browser downloads the file instead of rendering it, your web server likely isn't configured to process SSI or is sending the raw text/x-server-parsed-html3 header to the client. Browsers expect to receive processed text/html; you must configure your server (e.g., Apache or Nginx) to handle the parsing.

How do I configure Apache to handle text/x-server-parsed-html3?

You typically enable the include_module and add directives to your httpd.conf or .htaccess file. A common configuration involves: AddType text/html .shtml and AddOutputFilter INCLUDES .shtml to ensure the output is sent as standard HTML.

Is text/x-server-parsed-html3 secure to use?

It carries security risks if not configured correctly, particularly regarding SSI Injection. If an attacker can inject SSI directives into a page, they might execute arbitrary system commands. Using Options IncludesNOEXEC in Apache can mitigate this by allowing file includes but disabling command execution.

What is the difference between text/html and text/x-server-parsed-html3?

text/html represents static content that is sent 'as-is' to the user, whereas text/x-server-parsed-html3 indicates a file that requires server-side processing. The server scans the latter for tags like <!--#include ... --> and replaces them with content before the browser ever sees the page.

Can I use this MIME type on Nginx servers?

Yes, but Nginx handles it differently than Apache. You must enable the ngx_http_ssi_module and set ssi on; in your location block. Nginx will then process the SSI commands within the files before serving them to the user.

Is text/x-server-parsed-html3 considered modern web practice?

It is generally considered a legacy technology. While useful for simple static sites, modern developers usually prefer server-side languages like PHP or templating engines in frameworks (like React or Django) to achieve similar modular results.

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.