What is MIME type "application/prql"?

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

application/prql marks files written in the PRQL language. It is a modern query language designed to simplify writing database queries. Instead of long, error‐prone SQL, PRQL provides a concise syntax that is easier to read and maintain.
Files using this MIME type carry the extension PRQL. The language then compiles into standard SQL for execution, bridging simplicity and performance.
This MIME type is key when working with editors or tools that recognize PRQL’s unique formatting and compile-time checks. For an in-depth look at PRQL, visit the official PRQL website.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/prql    
  

HTML

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


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

Associated file extensions

FAQs

What is the application/prql MIME type used for?

The MIME type application/prql identifies source code files written in the PRQL (Pipelined Relational Query Language). These files, typically ending in .prql, contain query logic designed to be compiled into standard SQL for database execution.

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

To ensure Apache serves these files with the correct Content-Type, add the following line to your .htaccess file or main configuration: AddType application/prql .prql. This prevents browsers from misinterpreting the file as generic text.

Can web browsers execute application/prql files?

No, browsers cannot natively execute PRQL code. If a user navigates to a .prql file, the browser will usually display it as plain text or prompt a download. To run the code in a browser, it must be compiled to SQL or processed by a JavaScript/WASM library.

How does application/prql differ from application/sql?

application/prql is used for the modern, pipeline-oriented PRQL syntax, while application/sql is used for traditional Structured Query Language. PRQL files are often used in development environments to generate the final code found in application/sql files.

How do I add PRQL support to Nginx?

Open your mime.types file (usually located in /etc/nginx/) and add the entry application/prql prql;. After saving the file, reload Nginx using sudo systemctl reload nginx to apply the changes.

What software opens files with this MIME type?

Since PRQL is a text-based format, you can open it with any text editor like Notepad, Sublime Text, or VS Code. For the best experience, use an IDE with a PRQL plugin to get syntax highlighting and compile-time error checking.

Are there security risks associated with application/prql?

Like any source code, .prql files may contain logic revealing your database schema. You should generally not expose these files publicly on a production web server unless you are hosting a code repository or a tutorial site.

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.