Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Funcionamento da Sessão

Se a sessão é o tempo, em questão de login, quando um navegador é fechado, por que o acesso não continua ativo? O cookie é desativado automaticamente quando o navegador é finalizado? Quando é finalizado o acesso ao servidor da Alura ele "cancela" o cookie? O cookie é programado com tempo?

Não entendi muito bem a sessão, teria como explicar com outras palavras? Eu havia entendido que ele gerava chaves para que o cookies armazenassem e o cliente pudesse acessar, mas quando foi dito que ele funciona como o tempo, admito que fiquei perdido.

Desde já, muito agradecido, Professor!

2 respostas
solução!

Vinícius, tudo bem?

As sessões funcionam um pouquinho diferente do que você propôs ai.

Wikipédia:

Em ciência da computação, em particular em rede de computadores, uma sessão é um intercâmbio de informações interativas semi-permanente, também conhecida como um diálogo, uma conversação ou uma reunião entre dois ou mais dispositivos comunicantes, ou entre um computador e um usuário

Para lidar com isso, devemos falar sobre sistemas de login/logout, que iniciam uma comunicação entre dois dispositivos. No geral, hoje em dia, é mais comum usarmos tokens do que cookies para a authenticação de usuários, visto que o window.localStorage no javascritp é muito mais simples de lidar.

Usava-se muito os cookies na época dos sites PHP mais antigos, onde as informações de login e preferências eram guardadas também no navegador em um arquivo de até 4 mb. Eles eram bons por que podiam ser usados para identificar se um usuário estava logado, mas tinham problemas maiores de segurança

As sessions são mais usadas para chats, onde o usuário precisa logar, mas o acesso dele acaba rapidamente. Eles são bons por permitirem uma autenticação rápida e que ao término do uso, desaparece. Isso seja ao fechar o navegador ou ao atingir um tempo limite, definido no timestamp dentro de um cookie ou de um token.

Para entender melhor:

Sessão é uma área de memória no servidor destinada ao usuário, normalmente quando a aplicação reserva esse espaço ao usuário ela o identifica através de um cookie.

Esse cookie é um arquivo txt comum armazenado no computador do cliente que possui um dado que seja relevante apenas ao servidor( normalmente um código maluco que faz sentido apenas para servidor), é esse código maluco que identifica os dados do cliente no servidor.

Uma vez que o cliente tem sua sessão identificada, toda vez que ele fizer uma requisição ele irá apresentar sua identificação ao servidor.(No nosso caso a identificação é aquele código maluco gravado no cookie).

Por padrão um cookie existe enquanto o navegador estiver aberto , se o processo não for encerrado o cookie existirá.

Podemos também programar do lado do servidor o fim da sessão do usuário.