[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