5.6. Criando um servidor básico com NodeJS: Trabalhando com requisições HTTP

Página 37

5.6. Criando um servidor básico com NodeJS: Trabalhando com requisições HTTP

NodeJS é uma plataforma de desenvolvimento de aplicações em JavaScript, que permite a construção de aplicações web escaláveis de alta performance. Uma das características mais marcantes do NodeJS é a capacidade de criar servidores HTTP de forma rápida e simples. Neste capítulo, vamos aprender como criar um servidor básico com NodeJS e trabalhar com requisições HTTP.

Instalação do NodeJS

Antes de começar, é necessário instalar o NodeJS em seu sistema operacional. Você pode baixar a versão mais recente do NodeJS no site oficial (https://nodejs.org). Após o download, siga as instruções de instalação fornecidas pelo instalador. Para verificar se a instalação foi bem-sucedida, abra o terminal e digite o seguinte comando: node -v. Se a instalação for bem-sucedida, o terminal exibirá a versão do NodeJS instalada em seu sistema.

Criando um servidor básico com NodeJS

Para criar um servidor básico com NodeJS, você precisa criar um arquivo JavaScript e escrever algumas linhas de código. Vamos criar um arquivo chamado server.js e adicionar o seguinte código:


const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(3000, '127.0.0.1', () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

Este código cria um servidor HTTP que escuta na porta 3000. Quando uma requisição é recebida, o servidor responde com o status HTTP 200 (OK) e o texto "Hello World".

Trabalhando com requisições HTTP

Ao criar um servidor com NodeJS, você pode manipular requisições HTTP de várias maneiras. No exemplo acima, nós apenas respondemos com um texto simples. No entanto, você pode enviar arquivos, JSON, HTML e muito mais.

Para manipular requisições HTTP, você pode usar o objeto de requisição (req) que é passado para a função de callback do método createServer. Este objeto contém informações sobre a requisição HTTP, como o método HTTP, o URL, os cabeçalhos e o corpo da requisição.

Por exemplo, você pode verificar o método HTTP da requisição da seguinte maneira:


const http = require('http');

const server = http.createServer((req, res) => {
  console.log(req.method);

  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(3000, '127.0.0.1', () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

Este código exibirá o método HTTP da requisição no console. Se você acessar o servidor com um navegador, o método HTTP será GET.

Você também pode verificar o URL da requisição. Por exemplo, você pode responder de maneira diferente com base no URL da requisição da seguinte maneira:


const http = require('http');

const server = http.createServer((req, res) => {
  if (req.url === '/about') {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('About\n');
  } else {
    res.statusCode = 200;
    res.setHeader('Content-Type', 'text/plain');
    res.end('Hello World\n');
  }
});

server.listen(3000, '127.0.0.1', () => {
  console.log('Server running at http://127.0.0.1:3000/');
});

Este código responderá com "About" se o URL da requisição for "/about". Caso contrário, responderá com "Hello World".

Em resumo, criar um servidor básico com NodeJS é simples e rápido. Além disso, o NodeJS fornece uma API poderosa para manipular requisições HTTP, o que permite criar aplicações web complexas e escaláveis.

Now answer the exercise about the content:

Qual das seguintes afirmações é verdadeira sobre a criação de um servidor básico com NodeJS?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

385.7. Criando um servidor básico com NodeJS: Manipulando dados e retornando respostas

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text