É um ID de sessão gerada no lado do servidor ou do lado do cliente?
-
04-07-2019 - |
Pergunta
Esta página web http://www.w3schools.com/ASP/prop_sessionid.asp estados que um ID de sessão é gerado no ServerSide.
Se este for o caso, então como é que um servidor sabe que ainda é o mesmo cliente no 2º ciclo de solicitação de resposta?
Certamente o SessionId seria gerado na ClientSide para que o cliente teria a certeza de passar o mesmo valor para o servidor?
Solução
O SessionID é gerado Servidor Side, mas é armazenado no cliente dentro de um Cookie. Então toda vez que o cliente faz uma solicitação para o servidor o SessionID é usado para autenticar a sessão existente para o cliente.
Outras dicas
O ID da sessão é normalmente gerado no servidor. É, em seguida, enviado para o cliente, quer como um cookie nos cabeçalhos HTTP, ou incluindo-o no HTML, ou seja, as ligações tornam-se href = my.html? Sessionid = 1234.
próxima solicitação do cliente, então, conter o ID da sessão, seja no cookie ou a parte GET do pedido.
O servidor irá gerar um ID de sessão se não existir nenhum. Mas uma vez que foi gerado, o cliente pode passar isso para trás ID para o servidor. Se as modifica cliente que id, você provavelmente iria obter um erro do servidor, e uma nova id gerado.
O ID é gerado no servidor. O cliente então armazena isto em um cookie de sessão que o servidor pega a pedido posterior.
Se o servidor estiver em execução no modo de cookie-less, em seguida, a chave de sessão se torna parte da URL e os parses servidor a partir daí.
ADICIONADO: ... e se o servidor está esperando para usar um cookie de sessão, mas o cliente tem cookies desativados, em seguida, a partir da perspectiva do servidor, todas as solicitações são novas sessões, porque não pode dizer que este é o mesmo usuário.