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')