请描述一下 cookies,sessionStorage 和 localStorage 的区别?
区别
特性 | Cookie | localStorage | sessionStorage |
---|---|---|---|
特性 | 一般由服务器生成,可设置失效时间。如果在浏览器端生成 Cookie,默认是关闭浏览器后失效 | 除非被清除,否则永久保存 | 仅在当前会话下有效,关闭页面或浏览器后被清除 |
存放数据大小 | 4K 左右 | 一般为 5MB | |
与服务器端通信 | 每次都会携带在 HTTP 头中,如果使用 cookie 保存过多数据会带来性能问题,存储在内存里面 | 仅在客户端(即浏览器)中保存,不参与和服务器的通信 | |
易用性 | 需要自己封装,原生的 Cookie 接口不友好,没有特定的 API | 原生接口可以接受,亦可再次封装来对 Object 和 Array 有更好的支持,有固定的 API | |
路径 | Cookie 有路径的限制 | Storage 只存储在域名之下 |