Nodejs - Criando Um Servidor HTTP

O passo inicial para criar uma aplicação com nodejs é utilizando o módulo de http. Este módulo possui funcões para que possamos lidar com requisições em uma determinada porta do servidor, para isso vamos conhecer o básico de sua API. Para fazer uso do módulo de HTTP, precisamos antes carregarmos em um objeto, através do uso do método require. Como vemos abaixo:

var http = require('http');

Agora é onde começa nossa implementação. Por padrão o http requer uma funcão que receba como parametros dois obejtos: request e response, dessa forma temos que escrever algo deste tipo:

function handleRequest(request,response){

response.writeHead(200);
response.write("Hello World");
response.end();

}

Note que utilizamos o objeto response para definir as características da resposta do nosso servidor às requisções. Na primeira linha, é definido o Header do pacote de reposta, com o status 200, o que significa que a requisição está ok(podemos taḿbém usar os status como 501 para erro interno do servidor, ou 404 para uma requisição com falha). Em seguida, escrevemos o corpo da resposta com o método write e por fim, finalizamos a resposta do cliente. Esta função será usada como um callback para o método createServer do objeto http que nos retornará o nosso servidor web.

var server = http.createServer(handleRequest);

Por fim devemos fazer com que este nosso servidor criado seja associado a uma porta da nossa máquina, utilizando o método listen() do objeto referente ao servidor que foi criado.

server.listen(8080);

Observação: certifique-se de que a porta utilizada no parâmetro já não está sendo utilizada por outro serviço da sua máquina como um servidor apache ou algum outro tipo de Serviço

Pronto, desta forma temos nosso arquivo server.js, como segue abaixo:

var http = require('http');
function handleRequest(request,response){

response.writeHead(200);
response.write("Hello World");
response.end();

} var server = http.createServer(handleRequest);
server.listen(8080);

Para executarmos nosso servidor, basta usar o comando:

node server.js

E acessar a url http://localhost:8080 e lá estará nosso primeiro exemplo de servidor.

Como o javascript possui uma síntaxe bem felixível podemos simplificar o código acima para esta forma.

var http = require('http');
http.createServer(function(request,response){

response.writeHead(200);
response.write("Hello World");
response.end();

}).listen(8080);

O módulo de HTTP do Nodejs possui uma extensa API que abrange várias funcionalidades do famoso protocolo de transferência de hipertexto, para mais informações confira a documentaçaõ oficial. (http://nodejs.org/api/http.html)