Introduction to Nitrode - Dedicated HTTP Server

Original author: Oliver Morgan
  • Transfer
I am pleased to present you a description of Nitrode .

Problem:

Node.Js does not include the FastCGI module or similar modules for application integration, unlike other HTTP servers, for example, nginx.

Decision

Nitrode aims to fill this gap by providing a fast and versatile HTTP-server, built on the basis of Node.JS . It is designed to support most of the core features of nginx, but has the added benefit of being Nitrode written in JavaScript and provides an API for existing applications that allows them to take complete control of the server without leaving the current process.

Sumptuously! How can i use it?

You can find the repository here: github.com/ollym/nitrode

I included the example.js example in it, which will use all the current features of Nitrode, including:
  1. Basic HTTP authentication
  2. support for ETag and If-Modified-Since;
  3. Support for public directories and maintenance of static files;
  4. SSL support;
  5. Ability to customize from A to Z;
  6. Support for virtual hosts;
  7. url rewrite support;
  8. And much more…

Unlike Connect , Nitrode strives to be a strictly HTTP server, and focuses entirely on this direction.

To run the example:
  1. Clone the source repository;
  2. Go to the repository directory;
  3. Run the following command: "sudo node example.js";
  4. Open a browser and enter: "localhost: 80";
  5. Verify authentication using the username: “admin”, password: “admin”;
  6. You should now see a page titled “Welcome to Nitrode!”.

Also make sure that example.js is very easy to read!

What's next?

Nitrode is very young, I only started developing it last week or so. There are a number of things that I still have to do:
  1. Break index.js into smaller libraries;
  2. Add support for digest authentication;
  3. Add support for SSL certificates of authenticity;
  4. Write unit tests;
  5. Improve sys.pump performance;
  6. Write performance tests;
  7. Write documentation;

If anyone is interested to help me with these tasks, then please join in!

Sincerely,
Olly

PS: From the translator: Node.JS 0.2.0 has just been released , and the author promises that the API will not change in this thread.
PPS: the author, from the announcement of Nitrode to this day, has already released several new versions, a lot has already been done.

Also popular now: