Como criar um servidor web HTTP em Node.js: Tutorial com Code Exemplo

A estrutura Node.js รฉ usada principalmente para criar aplicativos baseados em servidor. A estrutura pode ser facilmente usada para criar servidores web que podem servir conteรบdo aos usuรกrios.

Existem vรกrios mรณdulos, como o mรณdulo โ€œhttpโ€ e โ€œrequestโ€, que auxilia no processamento de solicitaรงรตes relacionadas ao servidor no espaรงo do servidor web. Veremos como podemos criar um aplicativo bรกsico de servidor web usando Nรณ js.

Nรณ como servidor web usando HTTP

Vejamos um exemplo de como criar e executar nosso primeiro aplicativo Node js.

Nosso aplicativo criarรก um mรณdulo de servidor simples que escutarรก na porta nยบ 7000. Se uma solicitaรงรฃo for feita atravรฉs do navegador nesta porta nยบ, o aplicativo do servidor enviarรก uma resposta 'Hello World' ao cliente.

Nรณ como servidor Web usando HTTP

Code Explicaรงรฃo

  1. A funcionalidade bรกsica da funรงรฃo require รฉ que ela lรช um JavaScript arquivo, executa o arquivo e, em seguida, retorna o objeto de exportaรงรฃo. Portanto, no nosso caso, como queremos utilizar a funcionalidade do mรณdulo http, utilizamos a funรงรฃo require para obter as funรงรตes desejadas do mรณdulo http para que ele possa ser utilizado em nossa aplicaรงรฃo.
  2. Nesta linha de cรณdigo, estamos criando um aplicativo de servidor baseado em uma funรงรฃo simples. Esta funรงรฃo รฉ chamada sempre que uma solicitaรงรฃo รฉ feita ao nosso aplicativo de servidor.
  3. Quando uma solicitaรงรฃo รฉ recebida, estamos dizendo para enviar uma resposta com um tipo de cabeรงalho '200'. Este nรบmero รฉ a resposta normal enviada em um cabeรงalho http quando uma resposta bem-sucedida รฉ enviada ao cliente.
  4. Na prรณpria resposta, estamos enviando a string 'Hello World'.
  5. Em seguida, estamos usando a funรงรฃo server.listen para fazer nosso aplicativo de servidor ouvir solicitaรงรตes de clientes na porta 7000. Vocรช pode especificar qualquer porta disponรญvel aqui.

Se o comando for executado com sucesso, a seguinte saรญda serรก mostrada quando vocรช executar seu cรณdigo no navegador.

saรญda

Nรณ como servidor Web usando HTTP

Da saรญda,

  • Vocรช pode ver claramente que se navegarmos atรฉ a URL do localhost na porta 7000, vocรช verรก a string โ€˜Hello Worldโ€™ exibida na pรกgina.
  • Como em nosso cรณdigo mencionamos especificamente que o servidor escuta na porta 7000, podemos visualizar a saรญda ao navegar para este URL.

Aqui estรก o cรณdigo para sua referรชncia

var http=require('http')
var server=http.createServer((function(request,response)
{
	response.writeHead(200,
	{"Content-Type" : "text/plain"});
	response.end("Hello World\n");
}));
server.listen(7000);

Tratamento de solicitaรงรตes GET em Node.js

Fazer uma solicitaรงรฃo GET para obter os dados de outro site รฉ relativamente simples em Node.js. Para fazer uma solicitaรงรฃo Get no nรณ, precisamos primeiro ter o mรณdulo de solicitaรงรฃo instalado. Isso pode ser feito executando a seguinte linha na linha de comando

solicitaรงรฃo de instalaรงรฃo npm

O comando acima solicita que o gerenciador de pacotes Node baixe os mรณdulos de solicitaรงรฃo necessรกrios e os instale de acordo.

Quando o seu mรณdulo npm for instalado com sucesso, a linha de comando mostrarรก o nome e a versรฃo do mรณdulo instalado: @ .

Manipulando Solicitaรงรตes GET

No instantรขneo acima, vocรช pode ver que o mรณdulo โ€˜requestโ€™ junto com o nรบmero de versรฃo 2.67.0 foi baixado e instalado.

Agora vamos ver o cรณdigo que pode fazer uso deste comando 'solicitaรงรฃo'.

Manipulando Solicitaรงรตes GET

Code Explicaรงรฃo

  1. Estamos usando o mรณdulo 'request' que foi instalado na รบltima etapa. Este mรณdulo possui as funรงรตes necessรกrias que podem ser utilizadas para fazer solicitaรงรตes GET a sites.
  2. Estamos fazendo uma solicitaรงรฃo GET para www.google.com e posteriormente chamando uma funรงรฃo quando uma resposta for recebida. Quando uma resposta รฉ recebida, os parรขmetros (erro, resposta e corpo) terรฃo os seguintes valores
    1. Erro โ€“ Caso haja algum erro recebido ao utilizar a solicitaรงรฃo GET, ele serรก registrado aqui.
    2. Resposta- A resposta terรก os cabeรงalhos http que sรฃo enviados de volta na resposta.
    3. Corpo- O corpo conterรก todo o conteรบdo da resposta enviada pelo Google.
  3. Neste, estamos apenas gravando o conteรบdo recebido no parรขmetro body no arquivo console.log. Entรฃo, basicamente, tudo o que ganhamos indo para www.google.com serรก gravado no console.log.

Aqui estรก o cรณdigo para sua referรชncia

var request = require("request");
	request("http://www.google.com",function(error,response,body)
	{
		console.log(body);
	});

Resumo

  • A estrutura Node.js pode ser usada para desenvolver servidores web usando o mรณdulo 'http'. O aplicativo pode ser feito para escutar em uma porta especรญfica e enviar uma resposta ao cliente sempre que uma solicitaรงรฃo for feita ao aplicativo.
  • O mรณdulo 'solicitaรงรฃo' pode ser usado para obter informaรงรตes de sites. As informaรงรตes conteriam todo o conteรบdo da pรกgina solicitada ao site relevante.

Resuma esta postagem com: