What is MIME type "application/x-ns-proxy-autoconfig"?

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

application/x‑ns‑proxy‑autoconfig is the MIME type for a Proxy Auto‑Config file. This file contains JavaScript code that tells a browser how to set up its proxy connection automatically.
It often defines rules on when to use a proxy or make a direct connection, based on URL patterns or network conditions.

The file is usually saved with the PAC extension. Browsers fetch and execute this file to determine the best way to connect to web resources. For more information, see Proxy Auto‑Config on Wikipedia.

Associated file extensions

Usage Examples

HTTP Header

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


    Content-Type: application/x-ns-proxy-autoconfig    
  

HTML

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


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

Associated file extensions

FAQs

How do I configure Apache or Nginx to serve PAC files correctly?

To ensure browsers accept the file, you must serve it with the correct MIME type. For Apache, add AddType application/x-ns-proxy-autoconfig .pac to your configuration or .htaccess file. For Nginx, add application/x-ns-proxy-autoconfig pac; inside your mime.types file or types block.

Are there alternative MIME types for .pac files?

Yes, while application/x-ns-proxy-autoconfig is the standard legacy type introduced by Netscape, you may occasionally see application/x-javascript-config. However, for maximum compatibility across all browsers and operating systems, it is best to stick with the x-ns-proxy-autoconfig standard.

How do I add this MIME type in Microsoft IIS?

Open the IIS Manager, select your site, and double-click the MIME Types feature. Click 'Add' in the Actions pane, set the file extension to .pac, and set the MIME type to application/x-ns-proxy-autoconfig. Without this, IIS may return a 404 error or serve it as plain text.

Why is my browser ignoring the Proxy Auto-Config file?

Browsers are strict about security; if the server sends the file as text/plain or application/octet-stream, the browser may refuse to execute the script. Verify the server headers using developer tools to ensure the Content-Type is strictly set to application/x-ns-proxy-autoconfig.

What content is inside an application/x-ns-proxy-autoconfig file?

This file contains a JavaScript function named FindProxyForURL(url, host). Even though the MIME type is specific to proxy configs, the syntax inside is standard JavaScript used to determine if a request should go through a specific proxy or connect directly. You can read more about the extension at PAC.

Is it safe to serve PAC files over HTTP?

It is highly recommended to serve these files over HTTPS. Since the file controls where user traffic is sent, a malicious actor could modify the file in transit (a Man-in-the-Middle attack) to redirect traffic to a fake proxy if it is served via insecure HTTP.

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.