MODELO REQUISIÇÃO-RESPOSTA (REQUEST-RESPONSE)
Agora que vimos os principais conceitos do protocolo HTTP/HTTPS podemos nos aprofundar no modelo Requisição-Resposta.
Na prática, de forma geral, a comunicação entre um servidor e um cliente é sempre iniciada por um pedido (requisição) do cliente ao servidor, que por sua vez enviará uma resposta ao cliente, seja com a solicitação atendida, seja com um código de retorno de erro, por exemplo o famoso 404 (Page Not Found).
Todo pedido de um cliente constitui uma nova requisição, por exemplo, ao acessarmos https://mgcconsulting.com.br/ uma requisição é realizada e a página é enviada para o navegador (cliente). Ao clicarmos em algum link dentro da página, uma nova requisição é realizada e uma nova resposta é emitida pelo servidor.
As requisições são independentes entre si, o que chamamos de ”stateless”, que significa que o HTTP não mantém o estado de requisições, ou seja, não há registro de requisições anteriores, logo cada requisição deve conter todas as informações necessárias para ser atendida.
SESSÕES
Reparem que, em sites que necessitam de login, esta ação é realizada apenas uma vez. Normalmente na primeira requisição. Tais sites, de alguma forma, “lembram” que você já realizou o login, logo nas próximas requisições você já se encontra “logado”.
Neste ponto, se pensarmos que cada requisição é independente, imaginamos que o cliente envia ao servidor seus dados de login a cada requisição, porém não é assim que funciona.
Na verdade, ao realizar o login o servidor cria um número aleatório de identificação único, e de difícil adivinhação.
Tal número é devolvido ao cliente, e reenviado a cada nova requisição, em outras palavras, ele substitui o par login/senha.
Este número de sessão é gravado pelo navegador na forma de um cookie, que é diretamente relacionado ao site que estamos acessando.
Você pode acessar/visualizar os cookies mantidos pelo navegador, processo este que varia de navegador a navegador.
No Chrome os cookies podem ser visualizados da seguinte forma:
- Clique com o botão direito na página/site que você deseja visualizar os cookies;
- Selecione “Inspecionar”;
- Selecione a aba “Aplicativo”;
- Na opção “Armazenamento” você acessa/visualiza os cookies utilizados pela página/site.
Nota: Este procedimento pode ser alterado no Chrome em novas atualizações. Vale para a data em que este artigo foi escrito.
Os cookies são utilizados para os mais diversos objetivos, como este de manter o “ID” do usuário.
Então, através dos cookies é (um dos métodos) que as plataformas gerenciam as sessões com os usuários.
Resumindo, uma sessão é o tempo em que o usuário se mantém conectado a um site. É criada para facilitar a comunicação cliente-servidor, agilizando e aumentando a segurança das requisições-respostas. Sessões armazenam dados entre requisições (nos arquivos chamados cookies).
E para saber mais sobre cookies acesse o seguinte texto recomendado.
Aula anterior “HTTP/HTTPS: Mais Alguns Conceitos Importantes (Aula 6)“.
Próxima aula “Web Services (Aula 8)“.