0Pricing
HTML Academy · Aula

localStorage versus sessionStorage

Entenda a duração e o escopo de cada tipo de armazenamento.

localStorage versus sessionStorage é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.

Visão geral da API de armazenamento da Web

A API de armazenamento da Web fornece dois armazenamentos de pares de chave e valor no lado do cliente: localStorage (persistente entre sessões) e sessionStorage (limpo quando a aba é fechada). Ambos armazenam valores de texto e podem ser acessados de forma síncrona por meio de JavaScript na mesma origem.

Persistência do localStorage

Os dados em localStorage persistem até serem explicitamente apagados pelo código, pelo usuário ou pela exclusão de dados do navegador. Eles sobrevivem a reinicializações do navegador, atualizações da página e fechamentos de abas. A capacidade normalmente é de 5 a 10 MB por origem, dependendo do navegador.

Escopo do sessionStorage

O sessionStorage é limitado à aba e à sessão atuais do navegador. Os dados sobrevivem às atualizações da página dentro da mesma aba, mas são apagados quando a aba é fechada. Duas abas do mesmo site têm sessionStorage separado e isolado — elas não compartilham dados.

Similaridade das APIs

Ambos os armazenamentos compartilham a mesma API: setItem(key, value), getItem(key), removeItem(key), clear() e a propriedade length. O mesmo código funciona para ambos — basta substituir localStorage por sessionStorage e vice-versa.

Escolhendo entre eles

Use localStorage para: preferências do usuário (tema, idioma), respostas de API armazenadas em cache e funcionalidade de manter a sessão. Use sessionStorage para: estado da etapa de assistentes ou formulários, carrinho de compras temporário antes da finalização da compra e dados que não devem persistir entre visitas por motivos de privacidade.

Restrição da mesma origem

Ambos os armazenamentos são estritamente limitados à origem (protocolo + endereço + porta). https://example.com não pode ler o localStorage definido por http://example.com. Esse é um limite de segurança — os subdomínios também são origens separadas, a menos que document.domain seja alterado (obsoleto).

Capacidade de armazenamento

Ambos têm um limite de aproximadamente 5 MB por origem na maioria dos navegadores. Exceder o limite gera um QuotaExceededError. Necessidades de armazenamento de grandes volumes de dados exigem IndexedDB, que oferece suporte a gigabytes de dados estruturados. O armazenamento da Web é destinado a pequenos pares de chave e valor, não a blocos binários nem a grandes conjuntos de dados.

Natureza síncrona

As leituras e gravações no armazenamento da Web são síncronas e bloqueiam a thread principal. Em leituras ou gravações grandes, isso pode causar travamentos. Prefira IndexedDB para operações frequentes com grandes volumes de dados. Mantenha pequenos e pouco frequentes os valores do armazenamento da Web para evitar problemas de desempenho.

Padrão de serialização

O armazenamento da Web armazena apenas textos. Serialize objetos com JSON.stringify(); desserialize-os com JSON.parse(). Trate falhas de análise: try { return JSON.parse(stored) } catch { return defaultValue }. Valores corrompidos ou que não estejam no formato JSON no armazenamento geram erros de análise.

Armazenamento no modo privado/anônimo

O localStorage no modo privado/anônimo é apagado quando todas as janelas privadas são fechadas — comportando-se como o sessionStorage. O código que depende do localStorage para o estado de autenticação deve lidar com a possibilidade de o localStorage ser apagado inesperadamente.

Restrições para terceiros

Os navegadores restringem cada vez mais o acesso ao armazenamento de terceiros. Um quadro incorporado de um terceiro em um site primário não pode acessar o localStorage do terceiro. O ITP do Safari e a Proteção Aprimorada contra Rastreamento do Firefox particionam o armazenamento — o uso como primeira parte não é afetado.

Verificação de conhecimento

Quando o sessionStorage é apagado?

Resumo

O localStorage persiste indefinidamente até ser apagado programaticamente ou pelo usuário; o sessionStorage é apagado quando a aba é fechada. Ambos são armazenamentos síncronos de pares de chave e valor em texto, limitados à origem, com capacidade de aproximadamente 5 MB. Use localStorage para preferências e estado persistente; use sessionStorage para estado temporário, limitado à sessão, que não deve sobreviver ao fechamento da aba.

Perguntas Frequentes

A aula “localStorage versus sessionStorage” é grátis?

Sim — o texto completo de “localStorage versus sessionStorage” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.

O que vou aprender em “localStorage versus sessionStorage”?

Entenda a duração e o escopo de cada tipo de armazenamento. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar HTML Academy?

Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “localStorage versus sessionStorage”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de HTML Academy?

Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. localStorage versus sessionStorage
  2. Obtendo, definindo e removendo itens
  3. Monitorando eventos de armazenamento
  4. Segurança: o que nunca armazenar no armazenamento
← Voltar para HTML Academy