What is MIME type "text/x-rustsrc"?

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

text/x-rustsrc is a MIME type that identifies source code files. It signals that the content is text and should be treated as code. Editors and IDEs use it for syntax highlighting and proper formatting, especially when dealing with languages in the Rust family.



Files using this MIME type may come with a variety of extensions. A typical Rust source file uses RS. In similar projects, you may also see RES (ReScript), SW (Sway), RE (Reason), NR (Noir), REI (Reason), RELIGO (ReasonLIGO), or RS.IN for variants of Rust files.


This MIME type streamlines development by ensuring that software tools and systems know how to process and display the files correctly.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: text/x-rustsrc    
  

HTML

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


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

Associated file extensions

FAQs

What is the text/x-rustsrc MIME type used for?

This MIME type is primarily used to identify Rust source code files. It tells operating systems and text editors that the file contains code written in Rust or related languages like Reason and ReScript, often triggering syntax highlighting features.

Which file extensions are associated with text/x-rustsrc?

The most common extension is .rs for Rust files. It is also used for Reason (.re), ReScript (.res), Sway (.sw), and Noir (.nr) source files.

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

You can map the file extension to the MIME type by adding a directive to your .htaccess or main configuration file. Use the line: AddType text/x-rustsrc .rs.

How do I add text/x-rustsrc support to Nginx?

Open your mime.types file or the types block in your server configuration. Add the following line to associate the extension: text/x-rustsrc rs;.

Is text/x-rustsrc an official IANA standard?

No, the x- prefix indicates that it is a non-standard or experimental type. While not officially registered with IANA, it is widely recognized by Linux systems and development tools for identifying Rust code.

Why does my browser download the .rs file instead of displaying it?

Browsers do not natively execute or render Rust code. If the server sends a Content-Disposition: attachment header or if the browser doesn't recognize the subtype as text-safe, it will download the file. Serving it as text/plain often forces inline display.

Should I use text/plain or text/x-rustsrc for web serving?

If you want the code to be readable in a web browser without prompting a download, text/plain is the safest choice. Use text/x-rustsrc if you are serving files to development tools or applications that specifically look for that MIME signature.

Are there security risks associated with serving this MIME type?

The content itself is harmless text, but serving source code on a production server can be a security risk. Ensure you do not accidentally expose sensitive backend logic or credentials by allowing public access to .rs or .res files.

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.