一、数据存储分为客户端存储和服务端存储
1、而对于客户端存储,在html5以前只能通过cookie来实现;html 5以后增加了web存储(实际保存本地)的功能
 
(1)对于web存储有两个标准:
a、File API 标准: 支持该标准的浏览器能够计算机硬盘的其他文件中读取数据
b、IndexDB 标准: 支持该标准的浏览器内含有一个完整的,微型的数据库引擎
 
(2)分类:
a、本地存储(localStorage):长期保存网站数据,站内任何页面都可以访问该数据
设置数据:localStorage.setItem(键",保存的数据);
读取数据:localStorage.getItem(键");
删除数据:localStorage.removeItem(键");
清除网站在本地保存的数据:localStorage.clear();
 
b、会话数据(sessionStorage):临时保存保存针对一个窗口的数据,窗口关闭之后就会被浏览器删除
设置数据:sessionStorage.setItem(键",保存的数据);
读取数据:sessionStorage.getItem(键");
删除数据:sessionStorage.removeItem(键");
清除网站在本地保存的会话数据:sessionStorage.clear();
注意:
    • 没有web服务器则不能使用web存储:否则会报错,这是不同浏览器对web存储的支持程度不同造成的。
    • 另外,设置数据时要保证键名的唯一性,否则很容易发生命名冲突;
    • 这两者在保存数据时,所有数据都会被保存为文本字符串,对于读取如数值或日期等数据时,需要手动转换数据类型;对于对象,可以通过JSON.stringify()将对象连同其数据保存为文本形式,而通过JSON.parse()把文本转换为对象
    • 此外,两者存放数据大小为一般为5MB,而且它仅在客户端(即浏览器)中保存,不参与和服务器的通信。
c、cookie :生命期为只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭。
三者共同点:都保存在客户端,而且同源
 
(3)比较:
a、cookie:
优点:方便,与服务器端通信
缺点:必须处理过期数据; 存放数据大小为4K左右 ,有个数限制(各浏览器不同),一般不能超过20个;每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题;Cookie需要程序员自己封装,源生的Cookie接口不友好;
b、localStorage:用于保存访客将来还能看到的数据
c、sessionStorage: 保存那些从一个页面传递给下一个页面的数据
 
(4) 关系:
  • 不同浏览器无法共享localStorage或sessionStorage中的信息。
  • 相同浏览器的不同页面间可以共享相同的 localStorage(页面属于相同域名和端口),但是无法共享sessionStorage的信息。
  • cookie在浏览器和服务器端来回传递数据,而localStorage和sessionStorage不会自动把数据发送给服务器,仅会保存在本地。cookie会在浏览器请求头或者ajax请求头中发送cookie内容。
 
 

客户端数据存储cookie、localStoeage、sessionStorage(小记)的更多相关文章

  1. 数据存储-cookie、sessionstorage、localstorage

    HTML5 Web Storage sessionStorage 和 localStorage 是 HTML5 Web Storage API 提供的,可以方便的在 web 请求之间保存数据.有了本地 ...

  2. HTML5客户端数据存储

    HTML5 使在不影响网站性能的情况下存储大量数据成为可能.之前,这些都是由 cookie 完成的,cookie不适合大量数据的存储,因为会影响速度. 举个例子: var obj = {x:1}; / ...

  3. Html5——WEB(客户端)数据存储

    在客户端存储数据 HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前, ...

  4. H5新特性 本地存储---cookie localStorage sessionStorage

    本地存储的作用 :避免登录网站时,用户在页面浏览时重复登录,也可以实现快速登录,一段时间内保存用户的登录效果,提高页面访问速率 在html5中提供三种数据持久化操作的方法: 1.cookie 可看作是 ...

  5. 本地存储cookie,localStorage,sessionStorage

    常见的前端存储有老朋友 cookie,短暂的 sessionStorage,和简单强大的localStorage 他们之间的区别有以下几点 1.. cookie在浏览器和服务器间来回传递.而sessi ...

  6. 浅析Web数据存储-Cookie、UserData、SessionStorage、WebSqlDatabase

    Cookie 它是标准的客户端浏览器状态保存方式,可能在浏览器诞生不久就有Cookie了,为什么需要Cookie 这个东东?由于HTTP协议没有状态,所以需要一个标志/存储来记录客户浏览器当前的状态, ...

  7. Web客户端数据存储学习笔记——Cookie

    今天对登录访问的安全以及web客户端存储做了一些大致的学习,决定在这方面加深理解,记录在博客里.第一个接触到的是Cookie... WHAT? WHY? HOW? 在学习cookie的使用时发现其名称 ...

  8. Vue页面间传值,以及客户端数据存储

    初学Vue,遇到了页面传值的问题,大概网上学习了解了一下,在此跟大家分享一下学习心得,欢迎批评指正. 一.参数传值 如果是简单的页面传值,比如传一个id到详情页等等,推荐使用参数传值. 这里页面是通过 ...

  9. HTML5客户端数据存储机制Web Storage和Web SQL Database

    引言 html5本地存储可以选择两种方式,一种是本地存储,一种是sqlite. 比如开发html5的购物车功能,就可以考虑选择其中之一,进行本地存储与操作. 又或者保存用户登录信息,可以使用local ...

随机推荐

  1. debug的基本用法

    1.关于debug debug是dos.windows提供的实模式程序调试工具: 作用:查看cpu各寄存器的内容.内存情况.在机器码级别追踪程序的运行: 命令: debug 参数:     r    ...

  2. java常见问题 ——编辑报错1

    报错1 The method add(CatNode) in the type List<CatNode> is not applicable for the arguments (Str ...

  3. MySQL的密码操作命令

    一.请问在win2K命令提示符下怎样更改mysql的root管理员密码? >mysql -u root -p Enter password: ****** mysql> use mysql ...

  4. Codevs 1200 同余方程 2012年NOIP全国联赛提高组

    1200 同余方程 2012年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 求关于 x 同余方程 a ...

  5. 日照学习提高班day4测试

    A 思路: 一看到这个题,他不仅要求输出字典序最小的串,还要满足两两不重复,所以我们可以先输出ababab...什么的,最后缀上要求的k-2种字母 坑点: 当然这样想是不完全的!该题是拥有许多特殊情况 ...

  6. SDOI2019R2游记

    Day 0 上午到了济南,住在了山下.下午颓颓颓,zhy在玩炉石,我在...打元气!我的机器人终于不掉HP通关了呢,送的皮肤好好看啊. Day 1 到考场后,打开题面,一看第一题似乎很可做啊,好像可以 ...

  7. webuploader的一些体验

    WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.支持大文件分片并发上传. 具体api文档参考:http://fex.b ...

  8. css基础(css书写 背景设置 标签分类 css特性)

      css书写位置   行内式写法 <p style="color:red;" font-size:12px;></p> 外联式写法 <link re ...

  9. SVN如何处理包含@2x or @3x的图片文件

    一般iOS图片文件都会包含@2x,@3x之类的字符比如icon@2x,icon@3x,当你在svn命令行中add或是delete的时候总是报错说file does not exit之类的错误,其实之类 ...

  10. sscanf(char*,char*,,,,) sprintf(char*," ",,,);

    从字符串读取格式化输入 输入到字符串中