[SP-pm] Controlando sessão.
Luis Motta Campos
luismottacampos em yahoo.co.uk
Quarta Janeiro 24 23:42:14 PST 2007
On Jan 24, 2007, at 5:50 PM, Alex Falcão wrote:
> Salve,
>
> pessoal, conheço duas formas de controlar a sessão do usuário,
> cookie
> ou session.
>
> A cookie tem a restrição do browser do usuário estar
> habilitado, já a
> session, a restrição é no servidor onde hospedo :-(.
>
> Gostaria de saber se existe algum outro modo semelhante ao
> cookie ou
> session.
????
Pergunta confusa. O que você está procurando?
O protocolo HTTP é /stateless/ (quer dizer, não tem a capacidade
de manter "estado").
Normalmente, quando usamos a World Wide Web para servir
aplicações, precisamos manter alguma informação sobre o "estado" da
aplicação entre uma requisição e a seguinte. Entre uma coisa e a
outra, o programa normalmente não está funcionando, e o usuário não
pode ser alcançado pela aplicação.
Para manter este "estado", normalmente estabelecemos um conceito
chamado /user session/, que deve ser o que você chama "session". O
conceito é simples: um /user session/ é o conjunto de informações que
o protocolo não permite manter implícitamente, e que precisa ser
explícitamente implementado.
Existe apenas uma forma de fazer isso, dadas as limitações do
protocolo HTTP: "etiquetamos" o usuário de alguma forma (mais sobre
isso daqui a pouco), e armazenamos as informações sobre o "estado" da
aplicação em algum lugar no nosso sistema.
Armazenar as informações quer dizer escrever num arquivo, num
banco de dados, ou num conjunto de variáveis "persistentes" dentro da
sua aplicação, que vai permitir recuperar estas informações mais
tarde, quando o usuário voltar a fazer uma requisição para a aplicação.
"Etiquetar" o usuário quer dizer ter certeza de que você consegue
distingui-lo de um outro usuário qualquer que esteja usando o sistema
ao mesmo tempo. Para esta finalidade, podemos usar várias técnicas:
manter um (número|string) num cookie na máquina do usuário; passar um
(número|string) como parâmetro oculto na próxima requisição; incluir
(número|string) na URL que o usuário enxerga como sendo a aplicação.
Eu entendi que você quer saber de mais formas de "etiquetar"
determinado usuário para identificar a sua sessão. Aqui tem três
sugestões, uma a mais do que você postou com a sua pergunta. Isso
deve ser a resposta que você procura.
Claro, se não servir, por favor me avisa, que eu tento de novo...
mas veja se consegue me enviar mais informação, sim?
Putamplexos!
--
Luis Motta Campos is software engineer,
perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão SaoPaulo-pm