A maneira tradicional de armazenar dados no lado do cliente é através do uso de cookies HTTP. Existem muitas diferenças entre Web Storage e cookies. Vamos nos concentrar nas diferenças pragmáticas entre as duas abordagens para armazenamento de dados do lado do cliente .
Mecanismo de Armazenamento
Cookies são dados estruturados enviados ao navegador pelo servidor web como parte da resposta do servidor a uma solicitação.
Os cookies podem ser especificados por meio do Set-Cookiecabeçalho HTTP. Sempre que uma solicitação é feita, o navegador envia os cookies “de volta” ao servidor como parte do cabeçalho da solicitação. Para encurtar a história, uma solicitação deve ser feita para atualizar os dados contidos em um cookie.
Além disso, os cookies sempre ocuparão uma parte do cabeçalho HTTP, independentemente de os dados terem sido alterados ou não. O Web Storage, por outro lado, é criado e gerenciado completamente no lado do cliente. Assim, entre muitos outros benefícios, o Web Storage evita o envolvimento do servidor web.
Essa abordagem tem muitos resultados vantajosos, sendo o mais óbvio que teoricamente leva a um melhor desempenho da Web. Além disso, como o Web Storage pode funcionar sem a necessidade de solicitações/respostas HTTP (além da transação inicial de servir a página da web), com a implementação apropriada, os dados armazenados no navegador do usuário podem ser atualizados e modificados com segurança, mesmo que o usuário perca sua conexão de rede.
Várias instâncias do navegador
O Web Storage pode lidar com situações em que o usuário tem várias janelas/guias do navegador abertas. Os dados armazenados e/ou atualizados em uma janela do navegador são transferidos para outras janelas do navegador, desde que as outras janelas do navegador estejam no mesmo site.
Os cookies, por outro lado, não são projetados para condições que envolvam várias janelas do navegador.
Restrição de tamanho de armazenamento
O limite/restrição de tamanho de cookies HTTP e armazenamento na web varia entre diferentes navegadores da web. Mas, geralmente, a prática recomendada comum é restringir o tamanho dos cookies para cerca de 4,0 kB para fornecer um bom suporte entre navegadores. (Existe uma ferramenta de teste de cookies que permite testar os limites de tamanho de cookies HTTP do seu navegador.) A especificação W3C Web Storage não recomenda uma restrição de tamanho de armazenamento padrão, deixando a decisão dos navegadores.
No entanto, na prática, o Web Storage excede confortavelmente o limite de 4,0 kB de cookies. O limite geralmente considerado para objetos Web Storage é de cerca de 5 MB. Ou seja, o limite de tamanho do Web Storage é +124.527% maior que o dos cookies. (Há também uma ferramenta de teste de armazenamento na Web que permite testar os limites de tamanho de armazenamento na Web do seu navegador.)