Node.js Unable to load the webpage The connection has timed out

I'm a beginner to node.js, I installed it as here: https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

I tried it from console and it worked:

console.log('Hello World!');

nodejs helloConsole.js

> Hello World!

Then I tried to make it within HTTP Server, here is the code:

var http = require("http");
http.createServer(function (request, response) {
   request.on("end", function () {
      response.writeHead(200, {
         'Content-Type': 'text/plain'
      });
      response.end('Hello HTTP!');
   });
}).listen(8080);

I run it from terminal:

nodejs hello.js

then I open the browser at http://localhost:8080/ , it takes a long time to load, then at chrome it gives me that:

Unable to load the webpage because the server sent no data.

and firefox gives me that:

The connection has timed out

Note : other web servers works fine, like apache.

You attached a listener to the request object, listening for the end event, you will not see a response until that event has been caught by request.

To test things out you might want to modify it like the one provided as example here: http://nodejs.org/

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');

You are listening to the "end" event of the request parameter, but at the time your outermost callback function is called, the request has already ended, so it is too late to subscribe to that event.

You can directly respond from the outermost callback, which is what the sample code in nodejs.org shows.

Try the following steps, if you are using windows, it may help you.

  1. Download the node.exe from http://nodejs.org/download/
  2. Place in a Hard Disk Drive from where you want to run like D:/nodejs/node.exe
  3. Now place your hello.js in the same directory it should look like D:/nodejs/hello.js
  4. Now from Command Prompt Go to that folder D:/nodejs/ and run command node hello.js