美文网首页
cookie、session、localStorage 和 ET

cookie、session、localStorage 和 ET

作者: 风起云帆 | 来源:发表于2019-03-12 18:50 被阅读0次

    1. Cookie 和 Session 的区别?

    • 内容及给予方式不同: cookie是服务器通过 Set-Cookie头给客户端的一串字符串。sessionID是浏览器通过 cookie 发送给客户端的一段随机数(安全性好)
    • 存储位置不同:cookie 存储在客户端的硬盘中,每次访问相同域名的网页时就带上这个字符串。session 保存在服务器端,客户端访问服务器时,服务器读取sessionID,服务器端所有 session 存在于一处
    • 大小不同:cookie 大小在4kb 左右,session 大小没有限制
    • 存储内容:cookie 只能保存字符串,以文本的方式。session 能支持任何类型的对象

    2. Cookie 和 LocalStorage 的区别?

    • HTTP: cookie 依赖 HTTP协议,而 localstorage 与 HTTP 无关,HTTP 不会带上 localstorage 的值
    • 大小不同:cookie 在4KB 左右,localstorage 在5M 左右(每个浏览器不一样)
    • 有效期不同:Cookie 默认在用户关闭页面后就失效,后台代码可以任意设置 Cookie 的过期时间。localstorage 永久有效,除非用户清理缓存。

    3. LocalStorage 和 SessionStorage 的区别?

    • 两者大体相同,只是在关闭页面时体现不同处:localStorage 在页面关闭时不会丢失,sessionStorage在关闭页面时会丢失。

    4. Cookie 如何设置过期时间?如何删除 Cookie?

    设置 cookie 过期时间:

     //指定cookie保存时间
    Response.Cookies("user_name").Expires=Date+1 '
    
    //保留COOKIES一个小时
    Response.Cookies("MyCookie").Expires= (now()+1/24) 
    Response.Cookies("MyCookie").Expires = DateAdd("h", 1, Now())
    

    删除 cookie:

    document.cookie = ''
    

    5. Cache-Control: max-age=1000 缓存 与 ETag 的「缓存」有什么区别?

    区别在于:cache-control的max-age=1000是指在1000秒以内,客户端不能向指定域名发送请求获取数据,而应该在内存中取数据。ETag是可以先请求,但不许下载,响应体是空的

    相关文章

      网友评论

          本文标题:cookie、session、localStorage 和 ET

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