Transferência de dados do navegador - sessão de cookie de sessãoStorage localStorage diferença

Na sessão, cookie, sessãoStorage, diferença localStorage e cenários
de aplicação de cache do navegador podem fornecer uma maneira de armazenar dados do usuário no cliente, pode trocar dados usando o cookie, sessão e assim por diante com o servidor.

Um, cookie e sessão

Tanto o cookie quanto a sessão são métodos de sessão usados ​​para rastrear a identidade do usuário do navegador.

a diferença:

1. Manter estado: o cookie é salvo no lado do navegador e a sessão é salva no lado do servidor

2. Como usar:

(1) Mecanismo de cookie: Se o tempo de expiração não for definido no navegador, o cookie é armazenado na memória e o ciclo de vida termina quando o navegador é fechado.Este tipo de cookie é denominado cookie de sessão. Se o tempo de expiração do cookie for definido no navegador, o cookie será salvo no disco rígido. Após o navegador ser fechado, os dados do cookie ainda existirão e não desaparecerão até que o tempo de expiração termine.

 Cookie是服务器发给客户端的特殊信息,cookie是以文本的方式保存在客户端,每次请求时都带上它

(2) Mecanismo de sessão: quando o servidor recebe uma solicitação e precisa criar um objeto de sessão, ele primeiro verifica se a solicitação do cliente contém id de sessão. Se houver um id de sessão, o servidor retornará o objeto de sessão correspondente de acordo com o id. Se não houver id de sessão na solicitação do cliente, o servidor criará um novo objeto de sessão e retornará a id de sessão ao cliente nesta resposta. A id de sessão geralmente é armazenada para o cliente no modo cookie, e o navegador envia a id de sessão para o servidor de acordo com as regras durante a interação. Se o usuário desabilitar cookies, a regravação de URL pode ser usada, o que pode ser feito por meio de response.encodeURL (url); a API termina com encodeURL, pois, quando o navegador oferece suporte a cookies, a url não faz nenhum processamento; quando o navegador não cookies de suporte Nesse momento, o URL será reescrito e o SessionID será unido ao endereço de acesso.

3. Conteúdo de armazenamento: o cookie só pode salvar o tipo de string, na forma de texto; a sessão é salva por uma estrutura de dados semelhante a Hashtable e pode suportar qualquer tipo de objeto (a sessão pode conter vários objetos)

4. Tamanho de armazenamento: cookie: Os dados salvos por um único cookie não podem exceder 4kb; não há limite para o tamanho da sessão.

5. Segurança: cookie: Ataques contra cookie: falsificação de cookie, interceptação de cookie; a segurança da sessão é maior do que o cookie.

      Os motivos são os seguintes: (1) O sessionID é armazenado no cookie.Se você quiser interromper a sessão, você deve primeiro interromper o cookie;

           (2) O sessionID está disponível apenas quando alguém efetua login ou inicia o session_start, então o sessionID não pode ser obtido quebrando o cookie;

           (3) Depois que o session_start é iniciado pela segunda vez, o sessionID anterior é inválido, e depois que a sessão expira, o sessionID também se torna inválido.

           (4) O sessionID é criptografado

           (5) Em resumo, o invasor deve quebrar o ID de sessão criptografado em um curto espaço de tempo, o que é difícil.

6. Cenários de aplicação:

Cookie: (1) Determine se o usuário efetuou login no site, para que possa efetuar login automaticamente (ou lembrar a senha) na próxima vez que efetuar login. Se excluirmos o cookie, devemos preencher as informações relevantes sobre o login sempre que fizermos login.

    (2) Salvar informações como a hora do último login.

    (3) Salvar a última página visualizada

    (4) Contagem de navegação

Sessão: A sessão é usada para salvar as informações dedicadas de cada usuário, o valor da variável é salvo no lado do servidor e diferentes clientes são diferenciados por SessionID.

  (1) Carrinho de compras em shopping online

  (2) Salvar as informações de login do usuário

  (3) Coloque alguns dados na sessão para uso em páginas diferentes do mesmo usuário

  (4) Impedir que os usuários façam login ilegalmente

7. Desvantagens: cookie: (1) Tamanho limitado

        (2) O usuário pode manipular (desabilitar) cookies para restringir a função

        (3) Baixa segurança

        (4) Alguns estados não podem ser salvos no cliente.

        (5) Os cookies devem ser enviados ao servidor para cada visita, o que desperdiça largura de banda.

        (6) Os dados do cookie possuem o conceito de caminho, que pode restringir o cookie para pertencer apenas a um determinado caminho.

    Sessão: (1) Quanto mais coisas uma sessão salva, mais memória ela ocupará no servidor. Para um site com um grande número de usuários online, a pressão de memória no servidor será maior.

        (2) Confie no cookie (o ID da sessão é armazenado no cookie), se o cookie for desativado, a regravação de URL é usada, o que não é seguro

        (3) Há muita arbitrariedade na criação de variáveis ​​de sessão, que podem ser chamadas a qualquer momento sem o processamento preciso do desenvolvedor. Portanto, o uso excessivo de variáveis ​​de sessão fará com que o código seja ilegível e difícil de manter.

二 、 WebStorage

O objetivo do WebStorage é superar algumas das limitações trazidas pelos cookies.Quando os dados precisam ser estritamente controlados no lado do cliente, não há necessidade de enviar dados continuamente de volta para o servidor.

O WebStorage tem dois objetivos principais: (1) Fornecer uma maneira de armazenar dados de sessão fora dos cookies. (2) Fornece um mecanismo para armazenar grandes quantidades de dados que podem existir nas sessões.

O HTML5 WebStorage fornece duas APIs: localStorage (armazenamento local) e sessionStorage (armazenamento de sessão).

1. Ciclo de vida: localStorage: O ciclo de vida de localStorage é permanente e os dados em localStorage não desaparecerão depois de fechar a página ou o navegador. A menos que localStorage exclua ativamente os dados, eles nunca desaparecerão.

       O ciclo de vida de sessionStorage é válido apenas na sessão atual. sessionStorage introduz o conceito de "janela do navegador", sessionStorage são dados que sempre existem em janelas da mesma origem. Desde que a janela do navegador não seja fechada, mesmo que você atualize a página ou entre em outra página da mesma fonte, os dados ainda existirão. Mas sessionStorage será destruído após fechar a janela do navegador. Ao mesmo tempo, quando a mesma janela e a mesma página são abertas independentemente, o sessionStorage também é diferente.

2. Tamanho de armazenamento: o tamanho dos dados de armazenamento de localStorage e sessionStorage é geralmente de 5 MB

3. Local de armazenamento: localStorage e sessionStorage são armazenados no cliente e não interagem com o servidor.

4. Tipo de conteúdo de armazenamento: localStorage e sessionStorage só podem armazenar tipos de string. Para objetos complexos, você pode usar stringify e parse do objeto JSON fornecido por ECMAScript para processar

5 、 获取 方式 : localStorage : window.localStorage ;; sessionStorage : window.sessionStorage ;。

6. Cenário de aplicação: localStoragese: frequentemente usado para login de longo prazo (+ para determinar se o usuário efetuou login), adequado para armazenamento de longo prazo de dados locais. sessionStorage: Login único para contas confidenciais;

Vantagens do WebStorage:

(1) Espaço de armazenamento maior: o cookie tem 4 KB, enquanto o WebStorage tem 5 MB;

(2) Salvar tráfego de rede: o WebStorage não será transmitido ao servidor, e os dados armazenados localmente podem ser obtidos diretamente, e a solicitação de palavras bonitas como cookies não será transmitida ao servidor, portanto, a interação entre o cliente e o o servidor é reduzido e a rede é salva.

(3) Para o tipo de dados que só precisam ser salvos enquanto o usuário está navegando em um grupo de páginas e podem ser descartados após fechar o navegador, o sessionStorage será muito conveniente;

(4) Visualização rápida: alguns dados são armazenados no WebStorage, além do cache do próprio navegador. Quando os dados são obtidos, eles podem ser obtidos localmente mais rápido do que do lado do servidor, portanto, a velocidade é mais rápida;

(5) Segurança: o WebStorage não será enviado ao servidor com o cabeçalho HTTP, portanto a segurança é maior que a dos cookies, e não há preocupação com interceptação, mas ainda existem problemas de falsificação;

(6) WebStorage fornece alguns métodos, a manipulação de dados é mais conveniente do que o cookie;

    setItem (chave, valor) —— salvar dados, armazenar informações na forma de pares de valores-chave.

     getItem (key) ——  获取数据,将键值传入,即可获取到对应的value值。

      removeItem (key) ——  删除单个数据,根据键值移除对应的信息。

      clear () ——  删除所有的数据

      key (index) —— 获取某个索引的key





Endereço de reimpressão: https://www.cnblogs.com/cencenyue/p/7604651.html




Método de uso específico: Este caminho contém uma introdução detalhada aos dois métodos de uso de sessionStorage localStorage
https://developer.mozilla.org/zh- CN / docs / Web / API / Window / sessionStorage

Acho que você gosta

Origin blog.csdn.net/qq_38637558/article/details/82116779
Recomendado
Clasificación