美文网首页
session,cookie,localStorage,sess

session,cookie,localStorage,sess

作者: 马建阳 | 来源:发表于2018-08-01 21:04 被阅读25次

    首先,从存储位置来看,可以分为服务端存储和客户端存储两种。

    服务端存储:session
    浏览器端存储:cookie,localStorage,sessionStorage

    cookie、session区别

    存储位置:cookie 存储于浏览器端,而 session 存储于服务端

    机制:cookie 是存储在浏览器里的一小段「数据」,而session是一种让服务器能识别某个用户的「机制」,session 在实现的过程中需要使用cookie。 二者不是同一维度的东西。

    安全:cookie 的安全性相比于 session 较弱,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 ,考虑到安全应当使用session。
    性能:session 会在一定时间内保存在服务器上。当访问增多时,会占用服务器的资源,所以考虑到服务器性能方面,可以使用cookie
    存储大小区别:cookie 存储容量有限制,单个cookie 保存数据不能超过4k,且很多浏览器限制一个站点最多保存20个cookie。而对于 session ,其默认大小一般是1024k
    携带:cookie 数据始终在同源的http请求中携带,session给予cookie一个session id来识别用户

    cookie、sessionStorage、localStorage 异同点

    html5 中 webStorage 包含 sessionStorage 和 localStorage
    共同点:

    都保存在浏览器端,(且是同源的)
    区别:

    1.存储大小区别,cookie 是4k,webStorage 可以达到5M甚至更大
    2.数据有效时间区别: sessionStorage 仅仅是会话级别的存储,它只在当前浏览器关闭前有效,不能持久保持;localStorage 始终有效,即使窗口或浏览器关闭也一直有效,除非用户手动删除,其才会失效;cookie 只在设置的 cookie 过期时间之前一直有效。
    3.作用域区别:sessionStorage 在不同页面无法共享; localStorage 和 cookie 在所有同源窗口是共享的。
    (相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息)
    4.cookie 数据始终在同源的http请求中携带,而 webStorage 不会再请求中携带,仅仅在本地存储
    (5.Web Storage 支持事件通知机制,可以将数据更新的通知发送给监听者。Web Storage 的 api 接口使用更方便。)

    相关文章

      网友评论

          本文标题:session,cookie,localStorage,sess

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