Por que sites populares armazenam dados muito complicados relacionados à sessão em cookies - e o que tudo isso significa?


19

Como desenvolvedores da Web, todos aprendemos que as sessões ajudam a superar os problemas relacionados à natureza sem estado do HTTP. Criamos um ID de sessão exclusivo e o enviamos ao navegador - e quando o navegador nos envia o mesmo ID, identificamos o usuário facilmente.

Tudo isso parece bastante direto e NÃO é tão complicado de implementar em qualquer idioma.

AGORA

Veja as seguintes capturas de tela que tirei. Eles mostram os tipos de cookies que os sites populares armazenam. Parece que eles estão armazenando vários IDs de sessão ou estão tentando ocultar o ID real configurando tantos cookies ou é algo que são medidas de segurança muito especializadas que estão sendo tomadas para evitar o seqüestro de sessão e outros problemas relacionados. Como queiras.

Gmail (antes do login)

insira a descrição da imagem aqui

Gmail (após o login)

insira a descrição da imagem aqui

Facebook

insira a descrição da imagem aqui

StackExchange

insira a descrição da imagem aqui

(Não se preocupe, você não pode roubar minha sessão - é obsoleta e incompleta :))

Então, minha pergunta é: a que propósito essa complicação serve? Por favor, explique o que significam esses diferentes cookies (em geral) e com que finalidade eles são definidos. Por fim, indique como eu posso fazer isso (e se devo) em meus próprios aplicativos.

Mais uma pergunta: em muitos casos, os valores nos cookies parecem codificados em URL - por que?

Respostas:


21
  1. Às vezes, não é prático armazenar determinados dados em uma tabela de sessão no banco de dados. Se determinados dados são atualizados muito , eles também podem atrapalhar muito o banco de dados. Se for esse o caso e os dados não forem muito importantes, é melhor armazená-los em um cookie separado.

  2. Quando (1) acontece, você precisa lidar com o limite de 4kb por cookie, portanto, armazenar todos os dados da sessão no cookie em um cookie é uma má idéia.

  3. Seria bom poder armazenar tudo no número mínimo de cookies necessário, mas as preocupações com a complexidade do projeto tornam isso difícil. Algumas aplicações são desenvolvidas por várias equipes . Às vezes, o que você vê como um servidor Web é na verdade um proxy que fala com vários clusters diferentes de servidores da Web, roteando diferentes seções do site para diferentes clusters, cada um com seu próprio conjunto de cookies.

  4. Cookies são baratos. Você é a exceção à regra - ninguém olha em sua loja de cookies para ver quantos cookies eles têm. E há pouco benefício de desempenho ao tentar combinar todos os dados da sessão do lado do cliente no menor número possível de cookies.


Eu também sou a exceção à regra.
Michael Slade
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.