美文网首页
cookie、session、eTag、cache-contro

cookie、session、eTag、cache-contro

作者: 阿亮2019 | 来源:发表于2018-06-25 22:16 被阅读38次

    cookie

    1. 服务端在response header中通过 set-cookile: sid=a7686711-37ec-491f-9996-b40a512616fd; user_id=77; 一般在login成功时会设置。
    2. 浏览器每次发起ajax请求时,会默认带上所有的cookie。一般不建议通过js对cookie进行增删改查,cookie很多的话会增长每次ajax的请求时间。
    3. cookie会在浏览器上保存一段时间(可能15分钟),之后会失效,或者关闭浏览器后,也会失效。但是现在的后端一般都会自己设置失效时间,做持久化处理。
    4. cookie容量很小,一般为5K;

    session

    1. 服务器内存中会有一个很大hashmap,用户在登录后,就会在hashmap中新增一条记录,它的key值就是sid,value值是用户的详细信息,比如email,电话号码等隐私信息。
    2. 当服务器接收到浏览器的请求时,会读取request header中的coookie部分,通过cookie中sid与hashmap中key值做比较,如果没有或者cookie过期,则可以302重定向到login页面

    localStorage

    1. localStorage是保存浏览器上的临时数据,跟HTTP没有关系, 只有cookie才会默认带上。
    2. 只有相同域名的页面才可以互相读取localStorage
    3. localStorage大小一般为5M(各大浏览器各有不同)
    4. localStorage是可以永久存储的(当然用户可以手动清除浏览器缓存)

    sessionStorage

    1. 跟localStorage很像,区别是sessionStorage在关闭页面后就会失效。

    删除cookie

    1. js清除所有cookie函数              
    function clearAllCookie() {  
      var keys = document.cookie.match(/[^ =;]+(?=\=)/g);  
      if(keys) {  
        for(var i = keys.length; i--;)  
          document.cookie = keys[i] + '=0;expires=' + new Date(0).toUTCString()  
       }  
    } 
    
    1. 手动清除浏览器缓存。

    相关文章

      网友评论

          本文标题:cookie、session、eTag、cache-contro

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