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

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-stsrc labels files that contain source code written in the Smalltalk language. It tells software that the file is plain text, not binary data, so editors and servers can process it properly.

Files such as CS and ST are common examples. They carry Smalltalk code intended for development and review.

For more details on how MIME types work and why they matter, check out the MDN Web Docs on MIME Types.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: text/x-stsrc    
  

HTML

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


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

Associated file extensions

FAQs

What type of content is text/x-stsrc used for?

This MIME type is specifically used for Smalltalk source code files. It identifies plain text scripts, classes, and "change sets" found in files with extensions like .st or .cs.

How do I configure text/x-stsrc in Apache?

You can enable this MIME type by adding the AddType directive to your .htaccess file or main configuration. Use the line AddType text/x-stsrc .st to ensure Smalltalk files are served with the correct headers.

Why might mapping .cs to text/x-stsrc cause issues?

The file extension .cs is heavily associated with C# source code in modern web development. If you map .cs to text/x-stsrc for Smalltalk Change Sets, it will conflict with C# files, potentially confusing syntax highlighters or IDEs expecting C# code.

Will web browsers display text/x-stsrc files automatically?

Yes, because the MIME type begins with text/, most browsers will attempt to render the content inline as plain text. This allows users to view the code directly in the browser window without downloading the file first.

How do I add support for Smalltalk files in Nginx?

Open your mime.types file or the types block within your nginx.conf. Add the entry text/x-stsrc st; to associate the Smalltalk extension with this MIME type.

Is text/x-stsrc a standard IANA MIME type?

No, the x- prefix indicates that it is a non-standard or experimental subtype. While not officially registered with IANA, it is the convention used by many systems to distinguish Smalltalk code from generic text.

What is the difference between .st and .cs files in Smalltalk?

Generally, .st files contain standard Smalltalk source code (classes and methods), while .cs files often represent Change Sets (logs of code changes). Both are plain text and can be served using text/x-stsrc.

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.