美文网首页
Cookie以及Session

Cookie以及Session

作者: Save_Onfir3 | 来源:发表于2019-10-11 23:55 被阅读0次

    Cookie

    什么是Cookie

    1.服务器通过Set-Cookie头给客户端一串字符串。
    2.客户端每次访问相同域名的网页时,必须带上这段字符串。
    3.客户端要在一段时间内保存这个Cookie。
    4.Cookie默认在页面关闭后失效,但后台可以任意设置Cookie的过期时间。

    Session

    什么是Session

    Session是服务器上的哈希表。
    服务器通过Cookie给用户一个SessionId,SessionId对应服务器里面的一小块内存。每次用户访问服务器的时候,服务器就通过SessionId去读取对应的Session,获取到用户的隐私信息。

    1.将SessionId通过Cookie发给客户端。
    2.客户端访问服务器时,服务器读取SessionId。
    3.服务器有一块内存(哈希表)保存了所以Session。
    4.通过SessionId我们可以得到对应用户的隐私信息,如ID,email等。
    5.这块内存(哈希表)就是服务器上的所有Session。

    PS:SessionId通常为随机数,以保证安全。

    LocalStorage是什么

    LocalStorage是html5技术提供的一个API;
    LocalStorage的实质是一个hash;
    LocalStorage是浏览器上的哈希表;
    LocalStorage能做到持久化存储。

    比如:


    LocalStorage.png

    代码为:

    let a = localStorage.getItem('a')
    
    if(!a){
      a = 0 
    } else {
      a = parseInt(a,10) + 1 
    }
    localStorage.setItem('a',a)
    
    localStorage的特点

    1.LocalStorage跟HTTP无关。
    2.HTTP不会带上LocalStorage的值。
    3.只有相同域名的页面才能互相读取LocalStorage(但并没有同源那么严格)
    4.每个域名LocalStorage最大存储量为5MB左右(每个浏览器不同)
    5.常用场景是记录有没有提示过用户(及一些不敏感信息)
    6.LocalStorage永久有效,除非用户自己清理。

    SessionStorage

    作用基本同上,
    但SessionStorage在用户关闭页面后就失效。

    Cookie和Session的关系

    一般来说,Session是基于Cookie来实现的,因为Session必须将SessionID放在Cookie里再发给客户端,Session是依赖Cookie的。

    Cookie和LocalStorage的区别是什么

    Cookie每次请求的时候都会带给服务器,而LocalStorage不会,另外Cookie的存储量一般在4KB左右,LocalStorage在5MB左右。

    相关文章

      网友评论

          本文标题:Cookie以及Session

          本文链接:https://www.haomeiwen.com/subject/ourfyctx.html