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

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-vb marks plain‐text files that contain Visual Basic–style source code. It tells text editors and development tools to treat the file as code with specific syntax and formatting rules.

It handles code used in various Visual Basic environments. The type supports work such as: Files that use this MIME type include code for forms, modules, classes and more. For example, files like FRM, BAS, CLS, CTL, VBA, VB, DSR, BI, and VBHTML are all managed under this type.

This setup makes it easier for systems to process the code correctly and helps users work efficiently with Visual Basic environments.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: text/x-vb    
  

HTML

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


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

Associated file extensions

FAQs

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

The MIME type text/x-vb represents Visual Basic source code files. It indicates to software that the file contains plain text formatted with Visual Basic syntax, commonly found in files with extensions like vb, bas, and cls.

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

No, the x- prefix signifies that it is a non-standard or experimental type. While not officially registered with IANA, it is widely recognized by text editors and IDEs to trigger syntax highlighting for Visual Basic code.

How do I configure Apache to serve Visual Basic files correctly?

To serve these files as code, add the definition to your .htaccess file or global configuration. Use the directive: AddType text/x-vb .vb .bas .cls .frm to ensure the server sends the correct headers.

Will web browsers execute files served as text/x-vb?

No, modern web browsers do not execute Visual Basic code. If a server sends a file as text/x-vb, the browser will typically display the source code as plain text or prompt the user to download the file.

What is the difference between text/x-vb and text/vbscript?

The text/x-vb type generally refers to full Visual Basic or VB.NET source files (like .vb or .frm) meant for compilation or editing. In contrast, text/vbscript is used for VBScript files (.vbs) intended for interpretation by legacy browsers or the Windows Script Host.

Why does IIS return a 404 error for .vb or .vbhtml files?

IIS (Internet Information Services) blocks serving certain source code extensions by default for security reasons. To serve these files, you must explicitly add a MIME map for text/x-vb and ensure Request Filtering allows the specific extension, such as vbhtml.

Are there security risks when serving text/x-vb files?

Serving the files themselves is generally safe if they are treated as plain text. However, allowing users to upload and execute these files on the server is dangerous. Additionally, downloading files like vba can pose a risk to clients if they contain malicious macros executed locally.

How can I view the contents of a text/x-vb file?

Since these are plain text files, you can open them with any text editor, such as Notepad, Notepad++, or Visual Studio Code. Specialized IDEs will use the MIME type to provide features like code completion and color-coding for files like dsr and ctl.

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.