Web Storage API: Guia Prático de LocalStorage e SessionStorage
A Web Storage API é uma ferramenta essencial no desenvolvimento moderno, oferecendo uma forma eficiente de armazenar dados no navegador via chave/valor. Embora substitua os cookies em diversos cenários de armazenamento local, seu principal benefício é a capacidade de gerenciar dados sem sobrecarregar as requisições HTTP, já que, ao contrário dos cookies, os dados da Storage não são enviados ao servidor em cada cabeçalho (header).
Por que usar Web Storage em vez de Cookies?
Antigamente, os desenvolvedores dependiam exclusivamente de cookies, que possuem uma limitação severa de apenas 4KB por domínio. Além disso, por serem transmitidos em todas as requisições, os cookies podem expor dados sensíveis se não forem configurados corretamente (como o uso de flags Secure e HttpOnly).
O Web Storage resolve isso oferecendo:
- Maior capacidade: Até 5MB de armazenamento na maioria dos navegadores.
- Performance: Os dados ficam restritos ao cliente, reduzindo o tráfego de rede.
- Facilidade: Uma API simples e nativa do JavaScript.
Como funciona o Web Storage API
A API divide-se em duas interfaces principais que compartilham os mesmos métodos, mas possuem ciclos de vida distintos:
- localStorage: Os dados são persistentes. Eles permanecem gravados mesmo após fechar o navegador, sendo removidos apenas via código ou limpeza manual do usuário. Comum para salvar preferências de tema (dark mode) ou tokens de sessão. Esse recurso é um dos pilares para quem deseja transformar seu site em um PWA (Progressive Web Application), permitindo que a aplicação funcione mesmo sem internet.
- sessionStorage: Os dados persistem apenas enquanto a aba ou janela do navegador estiver aberta. É ideal para fluxos temporários, como carrinhos de compras, estados de formulários ou dados de checkout.
Web Storage Funções
As classes do Web Storage têm 4 funções e funciona baseando em chave/valor. Lembrando que essas funções funcionam para as 2 classes.
setItem(key, value)
Esta função é usada para adicionar itens no Web Storage.
sessionStorage.setItem(“animal”,”cachorro”); // Salva cachorro com key animal.
getItem(key)
Esta função retorna o valor salvo na key.
localStorage.getItem(“animal”); // Retorna key animal.
removeItem(key)
Esta função remove a chave que tem o nome key.
sessionStorage.removeItem(“animal”); // Remove key e valor com com key animal.
clear()
Esta função remove todos os dados salvos na storage.
localStorage.clear(); // Limpa todos os dados
Conclusão
Em síntese dominar o Web Storage é obrigatório para qualquer desenvolvedor Front-end. Enquanto os cookies de terceiros enfrentam restrições crescentes por privacidade, o armazenamento local se consolida como a solução padrão para uma experiência de usuário rápida e persistente.
O que é Web Storage?
Qual a diferença entre LocalStorage e SessionStorage?
A diferença reside no tempo de vida dos dados.O localStorage mantém os dados por tempo indeterminado, a menos que você os apague; já o sessionStorage apaga os dados automaticamente ao encerrar a sessão da aba.
Quando devo usar LocalStorage em vez de cookies?
Use o localStorage para armazenar volumes maiores de dados (até 5MB) sem sobrecarregar as requisições ao servidor, como em preferências de tema ou estados de interface.