Cookie,localStorage,sessionStorage

webstorage

webstorage是本地存储,存储在客户端,包括localStorageseesionStorage.

1.localStorage

生命周期是永久的,意味着除非用户显示在浏览器提供的UI上清楚信息,否则一直存在。仅在浏览器中保存,不参与和服务器的通信。

2.sessionStorage

仅在当前会话下有效,关闭页面或浏览器后被清除。仅在浏览器中保存,不参与和服务器的通信。源生接口可以接受。

使用时使用相同的API:’

    localStorage.setItem("key","value");//以“key”为名称存储一个值“value”

    localStorage.getItem("key");//获取名称为“key”的值

    localStorage.removeItem("key");//删除名称为“key”的信息。

    localStorage.clear();​//清空localStorage中所有信息

但它们的作用域不同:

1.不同浏览器无法共享localStorage或sessionStroage中的信息。
2.相同浏览器的不同页面可以共享相同的localStorage.。
3.如果一个标签页包含多个iframe标签且他们属于同源页面,他们之间可以共享sessionStorage。

Cookie

生命期只在设置的cookie过期时间之内有效,即使窗口或浏览器关闭。存放数据很小。
可以与服务端通信,每次都会携带再HTTP头中。源生Cookie接口不友好。

优点:具有极高的扩展性和可用性

1.控制保存在cookie中的session对象的大小。
2. 通过加密和安全传输技术,减少cookie被破解的可能性。
3.控制cookie的生命周期,即使被盗,随时可能失效。

缺点:

1.cookie的长度和数量有限制,最多存放20条,每条长度不超过4kb。
2.如果cookie被截掉,就会被盗取所有的session信息。
3.有些状态不可能保存在客户端。

三者共同特点:

都是保存在浏览器端,且同源的。

Cookie,localStorage,sessionStorage_第1张图片

借鉴原文

你可能感兴趣的:(学习笔记,javascript)