数据存贮一
程序员文章站
2023-10-28 15:58:16
讲到数据存贮,一般有cookie、sessionStorage、localStorage、Web Storage cookie 只适合保存很小的数据,不能超过4k; cookie数据始终在同源的http请求中携带,即cookie在浏览器和服务器之间来回传递 只在设置的cookie过期时间之前一直有效 ......
讲到数据存贮,一般有cookie、sessionstorage、localstorage、web storage
cookie
只适合保存很小的数据,不能超过4k;
cookie数据始终在同源的http请求中携带,即cookie在浏览器和服务器之间来回传递
只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭
cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下。
在所有同源窗口中都是共享的
sessionstorage
仅在当前浏览器窗口关闭前有效,
仅在本地存储
不在不同的浏览器窗口*享,即使是同一个页面
localstorage
永久存储,永不失效,除非手动删除
在所有同源窗口中都是共享的
web storage
概念和cookie相似,区别是它是为了更大容量存储设计的。
拥有setitem,getitem,removeitem,clear等方法,不像cookie需要前端开发者自己封装setcookie,getcookie。
总结
cookie的作用是与服务器进行交互,作为http规范的一部分而存在 ,而web storage仅仅是为了在本地“存储”数据而生。
sessionstorage不在不同的浏览器窗口共享,即使是同一个页面
localstorage和cookies是在所有同源窗口*享的
适用情况:
web storage的概念和cookie相似,区别是它是为了更大容量存储设计的。cookie的大小是受限的,并且每次你请求一个新的页面的时候cookie都会被发送过去,这样无形中浪费了带宽,另外cookie还需要指定作用域,不可以跨域调用。
sessionstorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionstorage不是一种持久化的本地存储,仅仅是会话级别的存储
cookies数据始终在同源的http请求中携带(即使不需要),适合保存很小的数据
本地存储:只有本地浏览器端可访问数据,服务器不能访问本地存储直到故意通过post或者get的通道发送到服务器;每个域5mb;没有过期数据,它将保留知道用户从浏览器清除或者使用javascript代码移除.web storage 支持事件通知机制,可以将数据更新的通知发送给监听者。web storage 的 api 接口使用更方便。