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?
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?
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.
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
por localStorage
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ário
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.
A principal diferença entre localStorage
e sessionStorage
é a sessionStorage
única por guia. Se você fechar a guia, a sessionStorage
exclusão será excluída localStorage
. 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, mas sessionStorage
possui armazenamento ilimitado.
No Chrome (v43), ambos localStorage
e sessionStorage
estão limitados a 5101 k caracteres (nenhuma diferença entre o modo normal / de navegação anônima)
No Firefox, ambos localStorage
e sessionStorage
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
sessionStorage
é o mesmo que localStorage
, 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.
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
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.
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.)
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.
//Set the value in a local storage object
localStorage.setItem('name', myName);
//Get the value from storage object
localStorage.getItem('name');
//Delete the value from local storage object
localStorage.removeItem(name);//Delete specifice obeject from local storege
localStorage.clear();//Delete all from local storege
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.
//set the value to a object in session storege
sessionStorage.myNameInSession = "Krishna";
Leia mais Clique
sessionStorage
mantém uma área de armazenamento separada para cada origem, disponível durante a sessão da página (desde que o navegador esteja aberto, incluindo recarregamentos e restaurações de páginas)
localStorage
faz a mesma coisa, mas persiste mesmo quando o navegador é fechado e reaberto.
Peguei isso em https://developer.mozilla.org/en-US/docs/Web/API/Web_Storage_API