Quais são os prós e os contras de usar cookies em comparação com sessões?


Melhor resposta

A ideia principal por trás de cookies e sessões é a mesma – alguns dados precisam ser lembrado em várias partes de um site. Por exemplo, um site pode querer lembrar qual usuário está logado (na máquina fazendo solicitações) para personalizar a página ou mesmo controlar o acesso.

Para os casos mais simples em que os cookies contêm dados que apenas aprimoram o usuário experiência e é descartável, os cookies são preferíveis, porque eles são armazenados no cliente em vez de no servidor, portanto, tem uma boa escalabilidade. Além disso, os dados do cookie podem ser acessados ​​do JavaScript, enquanto os dados da sessão são privados apenas para o servidor. Os cookies também podem persistir depois que o cliente fecha o navegador ou desliga enquanto as sessões normalmente não duram tanto para conservar recursos.

Por outro lado, quando dados confidenciais estão em causa, você deseja usar sessões em vez de evitar invasores de manipular cookies. O Yahoo é um exemplo infame disso – seu código de geração de cookies foi comprometido e centenas de milhares de contas foram acessadas. Isso não significa que os cookies não podem ser usados ​​para autenticação – mas é preciso ter muito cuidado com os dados que eles não controlam mais. Muitos sites usam uma combinação de ambos – cookie para armazenar o ID da sessão e todos os dados confidenciais da sessão no servidor – para lembrar os usuários que efetuaram login.

Cookies e sessões são apenas ferramentas como martelos e alicates. Você precisa avaliar a situação e descobrir qual ferramenta funciona onde.

Resposta

Bem, os cookies duram até uma determinada data de expiração – o que pode ser um período muito grande. Pode ser usado para evitar que o usuário tenha que fazer login repetidamente ou se identificar de alguma outra forma.

O armazenamento da sessão expira quando o usuário fecha a guia do navegador … portanto, é inútil para qualquer uma dessas coisas.

Talvez você esteja pensando em “Armazenamento local” – que ainda é uma terceira coisa.

Tanto a sessão quanto o armazenamento local podem armazenar entre 5 e 25 MB – dependendo do navegador – e em qualquer formato. Os cookies podem ter apenas cerca de 4 kbytes – o que não é suficiente para armazenar coisas como imagens e áudio.

Os cookies também são úteis porque o servidor pode acessá-los diretamente sem a necessidade de código JavaScript para carregá-los … sessão e armazenamento local requer código JavaScript para acessá-los – e se o servidor precisar vê-los, deve haver algum software especial escrito para trocar essas informações.

Os cookies e o armazenamento local também permitem duas guias separadas que apontam para o mesmo site para compartilhar dados persistentes. “Armazenamento de sessão” força cada guia a usar dados separados. Isso pode ser bom ou ruim – dependendo do que você precisa.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *