Photo by NASA on Unsplash

Entendendo o básico de HTTP e HTTPS

Stefany de Sá
Stefany Sá
Published in
6 min readJan 8, 2020

--

Antes de iniciar o post é necessário deixar claro que tudo o que será escrito nas linhas abaixo será um relato pessoal de forma simples e coerente a minha atual experiência e conhecimento, portanto deverá ter uma linguagem de fácil acesso e conteúdo esquematizado e “mastigado”. Vamos lá!

Tanto o HTTP quanto o HTTPS são protocolos de redes bastantes usados para trocar informações entre o cliente e o servidor. E é graças a essa troca de informações que conseguimos enviar nossos emails, escrever nossos posts, ouvir nossas músicas(recomendo essa playlist aos Devs de plantão e fãs de GOT) e baixar nossos episódios das séries tão adoradas(inclusive recomendo assistirem Outlander ;) ).

  • Mas afinal o que é protocolo? Em termos de ciência da computação, é um conjunto de regras que nos ajudam na escrita, entendimento e disseminação da comunicação entre dois sistemas.
  • E o que é protocolo de rede? É conjuntos de regras que permitem a comunicação entre computadores conectados na internet. Fazendo uma analogia é como se o protocolos de redes fossem uma língua universal da internet para os computadores, onde todos conseguem falar e responder com perfeição. Vale a pena citar que existem muitos outros protocolos de redes além do HTTP e HTTPS.
  • O que o protocolo HTTP cuida e/ou faz? HTTP é a sigla para Hypertext Transfer Protocol ,ou seja esse protocolo cuida da transferência de hypertextos. O protocolo HTTP é a praticamente a base da web.

Já que sabemos o que é protocolo, protocolo de rede e HTTP, resta aprendermos como o HTTP faz a mágica da comunicação entre sistemas (computadores).

> Entendendo o funcionamento do protocolo HTTP

Para ser mais fácil o entendimento preste atenção nesse esqueminha.

Imagine que você quer muito acessar a página do google, e pra isso pega seu computador ou notebook, liga-o, abre o browser da sua escolha e digita na barra de endereço: www.google.com.br e aperta a tecla enter. Após alguns segundos no seu browser surge a tela de busca do google que era exatamente seu objetivo inicial. Legal essa mágica, né? Mas e nos bastidores, como isso funciona?

Então tudo se inicia quando você digita o endereço do site e aperta o botão enter. Ao apertar esse botão enter você está fazendo um pedido(requisição) ao servidor via browser. Basicamente você pede: “Então browser é o seguinte…eu quero muito acessar esse site, fala lá com o servidor e me traz ele e de preferência rápido”. E é isso que o browser faz, ele entra em “contato” com o servidor e faz a sua requisição de página, o servidor por sua vez deve devolver uma resposta… caso seu endereço esteja ok, seu site esteja no ar e tudo funcionando certinho ele te devolverá, via browser, o seu site como foi pedido.

Basicamente esse é fluxo do HTTP, mas é importante falar de um cara que uma responsabilidade enorme dentro desse mundo de endereços, sites, requisições e respostas… Antes da sua requisição chegar no servidor ela passa por um servidor menor, o servidor DNS (Domain Name Servers) ou servidores de nomes, basicamente esse servidor DNS é quem sabe o caminho certinho a se chegar no servidor de fato.

  • Mas como esse servidor DNS sabe, qual é a responsabilidade dele?

Imagine que existem muitos outros computadores conectados na internet e pessoas usando ou querendo usar o mesmo site que você pretende usar. Como o browser saberia devolver(resposta) a você o site correto? Visto que muitas outras pessoas também estão pedindo…E agora?

O servidor DNS ajuda justamente nesse ponto, cada computador conectado na internet tem uma espécie de número identificador único, que chamamos de IP(internet protocol), com esse IP fica mais fácil… Agora o servidor DNS pode fazer finalmente a sua função, que é localizar e traduzir para números IP os endereços dos sites que digitamos nos browser, e dessa forma o site que você consegue acessar é o site que você deseja. Fazendo uma analogia o servidor DNS é como um dicionário que estabelece a correspondência entre um domínio e um endereço IP.

Agora que sabemos como funciona o protocolo HTTP, vamos entender um pouco sobre o que fica escrito na nossa barra de endereço do browser.

entendendo a url

Supondo que você acessou o site do google e fez alguma pesquisa. Você deve encontrar, na barra de endereço, um endereço bem maior do que esse da imagem, mas o inicio do endereço deve ser semelhante a esse. Vamos entender um pouco sobre cada parte colorida da imagem acima.

  1. Em azul, temos o tipo do protocolo. Eu coloquei o protocolo https, pois é mais usual hoje em dia e depois explicarei o por quê, mas poderia ser o HTTP.
  2. Em verde, temos o endereço ou domínio. Que é o endereço eletrônico do site, ele não armazena as informações, apenas é o caminho pelo qual se chega ao conjunto de arquivos.
  3. Em roxo, temos o caminho, path ou recurso. Como o domínio não armazena as informações e nós precisamos dela, para isso usamos o caminho. O caminho especifica o local ( onde se encontra o recurso, dentro do servidor.)
  4. Em laranja, temos a query string. Que é um conjunto de um ou mais pares “pergunta-resposta” ou “parâmetro-argumento”.

HTTPS

O HTTPS (Hyper Text Transfer Protocol Secure) é uma implementação do protocolo HTTP sobre uma camada adicional de segurança. É um protocolo seguro, pois diferente do HTTP ele tem criptografia.

  • Como funciona o protocolo HTTPS? No https o seu dado quando sai da sua máquina ele sai criptografado. Mas de que forma? É simples, fiz um esqueminha para auxiliar na explicação.
esquema do protocolo https

Usando o protocolo HTTP é possível que alguma pessoa consiga interceptar (em amarelo) a sua requisição no meio do caminho e pegue seus dados. Com o HTTPS isso não ocorre. O HTTPS faz a primeira requisição e não envia os dados logo de cara, ele chega até o servidor e pede uma chave para gerar a criptografia. E como resposta do servidor é recebido a chave (chave pública), essa chave gera os dados criptografados mas não consegue descriptografar os dados, pois a responsabilidade dela é apenas criptografar, outro recurso cuidará da descriptografia. O servidor também possui uma chave, essa chave tem o poder de descriptografar. E assim com chaves que se complementam a informação, os dados se mantém seguros. Depois de feita primeira requisição pego a chave os dados são criptografados e prosseguem para outras requisições e respostas.

Essa segurança do protocolo HTTPS é justamente o que faz o protocolo ser melhor para certas coisas. E por isso ele é mais amplamente usado. Você pode perceber isso bem facilmente hoje em dia, caso você acesse um site que ainda use o protocolo HTTP seu browser reclamará de conexão/página insegura e perguntará se você quer continuar para o site.

E para um post básico ficou bem grandinho! 😄 mas espero que ele te ajude nos estudos! Qualquer dúvida, feedback ou conversas use o espaço abaixo, todo feedback construtivo é super bem-vindo.

Valeu e até o próximo post! 👋

--

--