HTTP over named pipes (introduction)

In most cases, HTTP protocol (used for communication between web server and web browser) is run over TCP protocol. But it turns out that most personal firewalls on Windows (they are installed nearly on every second computer in the world) prevent web server that is run from CD or USB or HDD on local computer from startup (firewalls consider it a malware since web server starts listening for incoming connections). Firewalls either ask user whether such network activity is allowed, or just prevent webserver from starting from CD or USB at all. So on big fraction of computers, users won't be able to use web sites running from CDROM or flash drive. Fortunately, firewalls do not inspect connections made over named pipes (a special kind of inter-process communications available on Windows starting from Windows NT 4.0 and Windows 2000).

So to hide from firewalls, Stunnix Web Server has implemented http over named pipes. We had to develop a custom browser that is also able to talk over named pipes (firefox-based). Fortunately, MySQL is also able to work over named pipes too. So if you select HTTP over Named Pipes mode, no firewall will notice that webserver has been started, so firewall won't be able to prevent web server from startup.

To enable http over named pipes mode, just check the checkbox Try using HTTP over named pipes instead of TCP on Windows in the Project ⇒ Site Settings ⇒ General ⇒ Main.

In order your PHP scripts be able to connect to MySQL when web server is serving HTTP requests over Named Pipes, you have to use $_ENV["MYSQL_HOST_PHP"] instead of localhost as a first argument of mysql_connect() function. That environment variable will be initialized by our Web Server for CDROMs with the correct value (on Mac OS X and Linux it will contain 'localhost', on Windows it will refer to mysql running in named pipes mode in a special way if Named Pipes mode is enabled).

When web server is serving HTTP over Named Pipes, all client-side technologies and plugins work - i.e. .css, .js, .png/ .jpg files, AJAX requests, Flash is working correctly too (including streaming video located at webserver serving over named pipes). PDF files are also correctly opened by pdf plugin (even background downloading of PDF files works fine).

So the revolutionary support for HTTP protocol over named pipes implemented in our WebServer for CDs/DVDs requires no changes to your web sites and is compatible with everything we are aware of.