2
respostas

Sessão é diferente do tempo que um cliente passa em conectado a uma página

Na pergunta: O que é uma sessão HTTP? A resposta exigida é: É o tempo que o cliente utiliza web app

Porém o que eu entendi de acordo com: https://developer.mozilla.org/en-US/docs/Web/HTTP/Session

É o processo no qual um cliente permanece conectado com um web app, mais ou menos como se fosse uma ponte entre dois pontos (o navegador e o servidor)

2 respostas

As sessões têm um princípio similar aos cookies, só que o armazenamento do estado é feito pelo servidor Web, e não pelo navegador.

Por exemplo, quando construímos uma aplicação que necessita de autenticação, no momento em que o usuário efetuar o login, podemos até permitir que algumas informações sejam armazenadas em um cookie, mas dados mais “sensíveis”, como usuário e e-mail, são mais interessantes de serem guardadas em sessões. Isto, pois não é seguro que esse tipo de informação fique “viajando” pela Web.

Mas se o HTTP é stateless, e o servidor Web não tem como identificar que a requisição anterior veio do meu browser, como é que ele sabe que as informações que eu guardei em sessão são de fato minhas? Simples… através de cookies!

Quando iniciamos uma sessão, é enviado um cookie para o navegador, com um valor único que corresponde a sessão aberta no servidor Web

Lucas

Grosso modo, a sessão HTTP é o tempo que a comunicação com o Servidor fica disponível depois de uma requisição.

Pegando sua analogia, é o tempo que a ponte fica abaixada. Depois de um certo tempo, se não houver nenhuma outra requisição HTTP, a ponte é suspensa e a comunicação não será recebida, ou seja, a sessão expira.

Quando você acessa seu Internet Banking, ele mostra um cronômetro com o tempo disponível para a sessão encerrar. Se você fizer uma nova requisição, o relógio começa a contar o tempo de novo. Se você não fizer nada, o tempo acaba e ele expira a sessão.

A sessão é um recurso de segurança.


Me corrijam se eu estiver errado! rsrs