欢迎来到天天文库
浏览记录
ID:40838664
大小:2.77 MB
页数:62页
时间:2019-08-08
《chap16本地存储与离线应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第16章本地存储与离线应用主要内容概述localStorage和sessionStorage留言板示例Storage事件监听练习与习题1、概述1、概述--WebStorage有同学可能会问,既然有了cookie本地存储,为什么还要引入WebStorage的概念?1、概述——HTML4的本地数据存储方式会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话在传统的Web程序中,通常使用Cookie和Session来存储本地数据。Cookie通过在客户端记录信息确定用户身份,Session通过在服务器端记录信息确定用户身份
2、。Cookie(小饼干)有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容。Cookie工作原理Session工作原理主要用途服务器可以利用Co
3、okies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。1、Cookies最典型的应用是判定注册用户是否已经登录网站。2、“购物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。Cookie缺陷1.数据大小:作为存储容器,cookie的大小限制在4KB左右,这是非常坑爹的,尤其对于现在复杂的业务逻辑需求,4KB的容量除了存储一些配置字段还简单单值信息,对于绝大部分开发者来说真的不知指望什么了。2.安全性问题:由于在HTTP请求中
4、的cookie是明文传递的(HTTPS不是),带来的安全性问题还是很大的。当多人共用一台计算机时使用Cookie可能会泄露用户隐私,也带来安全问题3.网络负担:我们知道cookie会被附加在每个HTTP请求中,在HttpRequest和HttpResponse的header中都是要被传输的,所以无形中增加了一些不必要的流量损失。WebStorageWebStorage是HTML新增的本地存储解决方案之一,但并不是为了取代cookie而制定的标准。cookie作为HTTP协议的一部分用来处理客户端和服务器通信是不可或缺的,session正是
5、依赖于实现的客户端状态保持。WebStorage的意图在于解决本来不应该cookie做,却不得不用cookie的本地存储。WebStorageWebStorage功能,就是在Web上存储数据,提供两种类型的API:localStorage和sessionStorage。区别:localStorage在本地永久性存储数据,除非显式将其删除或清空。sessionStorage存储的数据只在会话期间有效,关闭浏览器则自动删除。两个对象都有共同的API。浏览器的支持检查浏览器是否支持WebStorage-请打开ex3_1.html检测浏览器是否支
6、持Storage接口interfaceStorage{Storage接口readonlyattributeunsignedlonglength;DOMString?key(unsignedlongindex);getterDOMStringgetItem(DOMStringkey);settercreatorvoidsetItem(DOMStringkey,DOMStringvalue);deletervoidremoveItem(DOMStringkey);voidclear();};length:唯一的属性,只读,用来获取storag
7、e内的键值对数量。key:根据index获取storage的键名getItem:根据key获取storage内的对应valuesetItem:为storage内添加键值对removeItem:根据键名,删除键值对clear:清空storage对象localStorage和sessionStorage操作localStorage和sessionStorage都具有相同的操作方法,例如setItem、getItem和removeItem等localStorage和sessionStorage的方法:setItem存储value用途:将valu
8、e存储到key字段用法:.setItem(key,value)代码示例:sessionStorage.setItem("key","value");localStorage.setItem("
此文档下载收益归作者所有