HTTP, HTTPS e SSL

HTTPS é a versão evoluída do protocolo HTTP. O HTTPS utiliza o protocolo SSL, que torna a transferência de dados segura.

Categoria de Tecnologia

Postado em 05 maio 2022

Atualizado em 24 julho 2022

Palavras-chave: protocol,protocolo,http,https,ssl,hyper,transfer,browser,navegador

Visualizações: 1958

O protocolo HTTP foi criado em meados de 1991 e é utilizado até hoje por nós quando acessamos algum site na internet. Alguns anos depois o HTTPS apareceu e hoje é o protocolo padrão de muitos sites na internet.

O protocolo HTTP é provavelmente o protocolo mais usado no mundo.

O que é o protocolo HTTP?

O protocolo HTTP torna possível a visualização de sites através da internet usando o nosso navegador.

Esse protocolo geralmente roda na porta 80, e estabelece uma conexão TCP entre o dispositivo e o servidor.

Além da exibição de textos, o HTTP também torna possível outras atividades ao nosso navegador:

  • Visualização de vídeos e imagens
  • Jogos online
  • Download e upload de arquivos
  • Transações online

Praticamente tudo que podemos acessar com o nosso navegador funciona com protocolo HTTP.

Navegador
Internet
Servidor

Na transferência de dados entre o navegador e o servidor, os dados são enviados sem serem criptografados. Isso significa que esses dados podem ser espionados durante esse trajeto de transferência de dados.

Navegador
Internet
Servidor
Espião

Os dados transferidos entre o navegador e o servidor irão ter passar pela rede pública(internet). Pelo fato desses dados não estarem criptografados, o espião consegue saber o que estamos acessando no nosso navegador. Dados pessoais como senha, número de cartão de crédito, endereço, etc… podem ter alto risco de serem usados para o mal.

Para resolver esse problema, o protocolo SSL, ou Secure Sockets Layer foi adicionado ao HTTP. Com isso, o HTTP evoluiu para HTTPS.

O que é o HTTPS?

O HTTPS funciona da mesma maneira que o HTTP, porém durante o tráfego de dados através da rede pública, esses dados são criptografados. Além disso, o protocolo HTTPS roda na porta 443.

Mesmo criptografando esses dados, não significa que esses dados não poderão ser espionados. Isso é, o espião ainda consegue espionar esses dados durante a transferência entre o navegador e o servidor.

Navegador
Internet
Servidor
Espião

Porém, mesmo com esses dados em mãos, o espião não consegue decifrar o conteúdo, pois esses dados estão criptografados.

Essa criptografia torna seguro a transferência de dados sensíveis como cartão de crédito, endereço e senhas.

A descriptografia é realizada quando os dados chegam ao seu destino, com a utilização do protocolo SSL.

O que é o protocolo SSL?

Esse protocolo é responsável pela criptografia e descriptografia de dados transferidos através da internet com o protocolo HTTP, providenciando segurança dos dados durante o trajeto.

O protocolo SSL combina criptografia simétrica e criptografia assimétrica.

Primeiramente, quando acessamos um site que utiliza o protocolo HTTPS, nosso navegador irá solicitar o certificado SSL e a chave pública para o servidor.

Certificado e chave
Servidor
Navegador

Nosso navegador irá verificar o certificado e a chave pública retornada por esse servidor.
Depois de comprovar que esse certificado é valido, o navegador irá mandar uma cópia da nossa chave simétrica, que será criptografada com a chave pública retornada pelo servidor.

Chave criptografada
Navegador
Servidor

Uma vez que a cópia da chave simétrica criptografada chega ao servidor, ela é descriptografada pela chave privada do servidor. Assim, tornando possível a visualização desses dados quando chegarem ao seu destino.

O protocolo SSL é extremamente seguro durante o tráfego, porém não podemos baixar a nossa guarda. Usuários com más intenções também podem obter o certificado SSL. Portanto é importante avaliar a reputação desse site antes de transferir dados pessoais.

protocolos de navegador

Conclusão

HTTPS é a versão evoluída do protocolo HTTP, que torna possível a visualização de sites no navegador. O HTTPS utiliza o protocolo SSL, que torna a transferência de dados segura. Porém, essa segurança é apenas durante o trajeto, podendo haver riscos depois que os dados chegaram ao seu destino.

Projetos práticos

Implementando um algoritmo de pathfinding

Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).

Tutorial de programação do jogo da serpente em javascript

Programando o clássico jogo da serpente usando o framework p5.js. Tutorial indicado para iniciantes da programação que querem aprender os conceitos básico da área criando jogos.

Criando o esqueleto de um jogo de tiro 2D visto de cima usando P5.js

Usando lógicas matemáticas como trigonometria para criar e calcular o esqueleto de um jogo de tiro 2D em javascript

Criando um jogo de guerra nas estrelas em javascript usando a biblioteca p5.js

Jogo simples de guerra espacial desenvolvido em javascript. Esse jogo usa cálculos de física para simular efeitos de atrito e inércia.

Criando um jogo de pacman usando javascript e pixi.js (parte 1)

Desenvolvimento dos conceitos mais básicos do clássico pacman, como: mapa, animação, deslocamento e detector de colisões.

Veja também

O usuário malicioso joga a isca e espera a vítima pacientemente

Phishing tem esse nome pois a vítima se torna só mais um peixe na rede. Ter conhecimento de phishing é o melhor jeito de evitar ser um desses peixes

Ainda nos primórdios da internet discada, o maior medo de um usuário era o telefone tocar...

Esperávamos horas para baixar apenas alguns megabytes. Nessas horas, quando o telefone tocava nós fazíamos de tudo para não atender o telefone. Mas infelizmente nem sempre dava certo....

ESNI Indicação de nome de servidor criptografado

Versão criptografada do protocolo SNI. O SNI é usado para gerenciar múltiplos certificados TLS de sites em um único servidor.

Protocolo

Protocolo é um conjunto de regras a serem seguidas para tornar possível a comunicação entre dois dispositivos ou computadores.

Websockets

Protocolo que atua sobre o protocolo HTTP para múltiplas transferências de dados com uma única conexão com o intuito enviar e receber dados em tempo real.

RFC Request for comments

Documentos com especificações técnicas sobre as tecnologias da internet que são usados para a implementação de novas tecnologias e padronização.