Construindo um servidor HTTP
Aqui temos um simples web server HTTP de Hello World:
Vamos analisar esse código brevemente. Nós incluimos o módulo http.
Nós usamos o módulo para criar um servidor HTTP.
É definido para o servidor escutar na porta especificada, 3000. Quando o servidor está pronto, a função callback listen é chamada.
A função callback que passamos é a que será executada em toda requisição. Sempre que uma nova requisição é recebida, o evento request é chamado, fornecendo dois objetos: request (instância de http.IncomingMessage) e response (instância de http.ServerResponse).
request contém os detalhes da requisição. Através dele, nós acessamos os cabeçalhos (headers) e os dados da requisição.
response é usado para popular os dados que vamos retornar ao cliente.
No seguinte caso
res.statusCode = 200
nós definimos a propriedade statusCode para 200, para indicar uma resposta bem sucedida.
Nós também definimos a header Content-Type:
res.setHeader('Content-Type', 'text/plain')
e fechamos a resposta, adicionando o conteúdo como um argumento do end():
res.end('Hello World\n')