Além de não persistente e com escopo definido apenas para a janela atual, existem benefícios (desempenho, acesso a dados, etc.) ao armazenamento de sessões sobre o armazenamento local?
javascript
html
local-storage
session-storage
jpkeisala
fonte
fonte
Respostas:
localStorage e sessionStorage estendem o Storage . Não há diferença entre eles, exceto a pretendida "não persistência" de
sessionStorage
.Ou seja, os dados armazenados em
localStorage
persistem até serem excluídos explicitamente . As alterações feitas são salvas e disponíveis para todas as visitas atuais e futuras ao site.Pois
sessionStorage
, as alterações estão disponíveis apenas por guia. As alterações feitas são salvas e disponíveis para a página atual nessa guia até que ela seja fechada. Uma vez fechado, os dados armazenados são excluídos.fonte
A única diferença é que o localStorage tem um tempo de expiração diferente,
sessionStorage
só estará acessível enquanto e pela janela que o criou estiver aberta.localStorage
dura até você excluí-lo ou o usuário excluí-lo.Digamos que você queira salvar um nome de usuário e senha de login que deseja usar
sessionStorage
porlocalStorage
razões de segurança (ou seja, outra pessoa acessando sua conta posteriormente).Mas se você quiser salvar as configurações de um usuário em sua máquina, provavelmente desejará
localStorage
. Contudo:localStorage
- use para uso a longo prazo.sessionStorage
- use quando precisar armazenar algo que mude ou algo temporáriofonte
Alguns outros pontos que podem ser úteis para entender as diferenças entre o armazenamento local e a sessão
O armazenamento local e o armazenamento de sessão têm como escopo a origem do documento, portanto
https://mydomain.com/
http://mydomain.com/
https://mydomain.com:8080/
Todos os URLs acima não compartilharão o mesmo armazenamento. (O caminho da página da Web não afeta o armazenamento na Web)
O armazenamento da sessão é diferente, mesmo para o documento com a mesma política de origem aberta em guias diferentes, portanto, a mesma página da Web aberta em duas guias diferentes não pode compartilhar o mesmo armazenamento de sessão.
O armazenamento local e a sessão também têm escopo definido pelos fornecedores de navegadores . Portanto, os dados de armazenamento salvos pelo IE não podem ser lidos pelo Chrome ou FF.
Espero que isto ajude.
fonte
A principal diferença entre
localStorage
esessionStorage
é asessionStorage
única por guia. Se você fechar a guia, asessionStorage
exclusão será excluídalocalStorage
. Além disso, você não pode se comunicar entre as guias :)Outra diferença sutil é que, por exemplo, no Safari (8.0.3)
localStorage
, o limite é de 2551 k caracteres, massessionStorage
possui armazenamento ilimitado.No Chrome (v43), ambos
localStorage
esessionStorage
estão limitados a 5101 k caracteres (nenhuma diferença entre o modo normal / de navegação anônima)No Firefox, ambos
localStorage
esessionStorage
estão limitados a 5120 k caracteres (não há diferença entre o modo normal / privado)Nenhuma diferença de velocidade, seja qual for :)
Há também um problema com o Mobile Safari e o Mobile Chrome, o modo privado Safari e o Chrome têm um espaço máximo de 0 KB
fonte
sessionStorage
é o mesmo quelocalStorage
, exceto que ele armazena os dados para apenas uma sessão e será removido quando o usuário fechar a janela do navegador que os criou.fonte
Em termos de desempenho, minhas medições (brutas) não encontraram diferença em 1000 gravações e leituras
Em termos de segurança, intuitivamente, parece que o localStore pode ser desligado antes da sessionStore, mas não há evidências concretas - talvez alguém o faça?
funcional, concorde com o digitalFresh acima
fonte
O armazenamento da sessão Ya e o armazenamento local têm o mesmo comportamento, exceto um armazenamento local que armazena os dados até e, a menos que o usuário exclua o cache e os cookies e os dados do armazenamento da sessão reterão no sistema até fecharmos a sessão i, e até fecharmos a janela de armazenamento da sessão criada.
fonte
A vantagem do armazenamento da sessão sobre o armazenamento local, na minha opinião, é que ele tem capacidade ilimitada no Firefox e não persiste por mais tempo que a sessão. (É claro que depende de qual é seu objetivo.)
fonte
Armazenamento local: mantém os dados de informações do usuário armazenados sem data de vencimento. Esses dados não serão excluídos quando o usuário fechar as janelas do navegador, estarão disponíveis por dia, semana, mês e ano.
Armazenamento de sessão: É o mesmo que a data de armazenamento local, exceto que excluirá todas as janelas quando as janelas do navegador forem fechadas por um usuário da web.
Leia mais Clique
fonte
Peguei isso em https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API
fonte