Pular para o conteúdo
~/.primo-academy.sh
☰ Aulas · Cibersegurança para Desenvolvedores · 0/13
Recomendado: essencial

HTTP, HTTPS e APIs

2 min de leitura

fonte

Se você desenvolve para a Web, provavelmente já encontrou palavras como GET, POST, status 200, API e HTTPS.

Agora vamos juntar essas peças.

O HTTP é um protocolo utilizado para troca de mensagens entre clientes e servidores na Web.

A ideia básica é simples:

Cliente
   |
   | requisição
   v
Servidor
   |
   | resposta
   v
Cliente

O cliente envia uma requisição pedindo ou enviando alguma coisa. O servidor processa essa requisição e devolve uma resposta.

Imagine uma API que retorna os dados de um produto:

GET /produtos/10

A aplicação pode responder:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "id": 10,
  "produto": "Teclado"
}

O GET indica a ação que está sendo solicitada. O 200 informa que a requisição foi processada com sucesso, e o corpo da resposta contém os dados enviados pelo servidor.

É exatamente esse modelo de requisição e resposta que permite que muitas APIs funcionem.

Uma API cria uma forma definida para que sistemas diferentes consigam se comunicar.

Seu front-end pode pedir informações para o back-end. Seu back-end pode consultar outro serviço. Um aplicativo pode consumir a mesma API utilizada pelo site.

Agora entra uma parte muito importante para segurança: HTTPS.

HTTP, por si só, não oferece a proteção criptográfica que esperamos para dados trafegando pela Internet. O HTTPS utiliza HTTP sobre uma conexão protegida por TLS.

De forma simplificada:

HTTP
dados trafegando sem a proteção do TLS

HTTPS
HTTP + TLS

O TLS ajuda a proteger a comunicação contra leitura e alteração indevida durante o transporte, além de permitir que o cliente valide a identidade apresentada pelo servidor através de certificados.

Isso é especialmente importante quando sua aplicação transmite:

  • credenciais;
  • tokens;
  • informações pessoais;
  • dados financeiros;
  • qualquer outra informação sensível.

Mas existe uma pegadinha importante: HTTPS não torna uma aplicação automaticamente segura.

Você pode ter HTTPS funcionando perfeitamente e ainda possuir falhas de autorização, autenticação, validação de entrada ou outras vulnerabilidades dentro da aplicação.

HTTPS protege a comunicação. A aplicação ainda precisa proteger o que acontece antes e depois dela.

No próximo nó, vamos entender dois conceitos que vivem sendo confundidos: autenticação e autorização.

// Quiz

O que o HTTPS protege, de fato?

Escolha uma alternativa

// recursos

// avaliação da trilha

—
ainda sem avaliações