Design goals of Node.js

No function should perform direct I/O.

To receive data from disk, network, or another process, there must be a callback.

Have built-in support for the most important protocols: TCP, DNS, HTTP.

Support many HTTP features:

  • Chunked requests and responses.
  • Keep-alive.
  • Hang requests for Comet-style applications.

The API should be familiar to client-side Javascript programmers and old-school UNIX hackers.

Be platform independent.

(Source: pavingways.com)