Protocolo HTTPs
O que é HTTPs?
HTTPs (Hyper Text Transfer Protocol Secure) é a versão segura do HTTP, que é utilizado para a transferência de dados na web.
O HTTPs utiliza criptografia SSL/TLS (Secure Sockets Layer/Transport Layer Security) para garantir que a comunicação entre o cliente e o servidor seja segura e protegida contra interceptações.
Funcionamento do HTTPs

Vamos detalhar passo a passo como uma conexão HTTPs é estabelecida e como as informações são trocadas:
- 
Client Hello: - 
O cliente (por exemplo, um navegador web) envia uma mensagem "Client Hello" para o servidor. Esta mensagem inclui uma lista de algoritmos de criptografia (ciphers) que o cliente suporta e algumas outras informações necessárias para iniciar a comunicação segura. 
 
- 
- 
Server Hello: - 
O servidor responde com uma mensagem "Server Hello", na qual escolhe um dos algoritmos de criptografia propostos pelo cliente. O servidor também envia seu certificado digital, que inclui a chave pública do servidor e a identidade do servidor. 
 
- 
- 
Troca de Chaves: - 
O cliente verifica a validade do certificado do servidor. Se o certificado for considerado válido, o cliente gera uma chave secreta aleatória e a criptografa usando a chave pública do servidor. Esta chave secreta criptografada é então enviada ao servidor. 
- 
O servidor utiliza sua chave privada para decriptografar a chave secreta enviada pelo cliente. Agora, tanto o cliente quanto o servidor possuem a mesma chave secreta. 
 
- 
- 
Estabelecimento da Sessão Segura: - 
Com a chave secreta em comum, o cliente e o servidor estabelecem uma conexão segura e criptografada. Todos os dados transmitidos após este ponto são criptografados usando essa chave secreta, garantindo a confidencialidade e a integridade dos dados. 
 
- 
- 
Requisição HTTP GET: - 
O cliente envia uma requisição HTTP GET criptografada, solicitando um recurso específico do servidor (por exemplo, uma página HTML). 
 
- 
- 
Resposta HTTP: - 
O servidor responde com uma mensagem HTTP criptografada que inclui o código de status HTTP 200 OK e o conteúdo HTML solicitado pelo cliente. 
 
- 
TLS (Transport Layer Security)
O TLS é o protocolo de criptografia que garante a segurança das comunicações na web. Ele substituiu o antigo SSL (Secure Sockets Layer) e é amplamente utilizado para proteger dados transmitidos entre clientes e servidores. O TLS fornece autenticação, privacidade e integridade dos dados, tornando as comunicações seguras contra ataques e interceptações.
