关于Web存储技术

关于Web存储技术

在HTML4中,浏览器的主要功能是负责呈现HTML的内容,当客户端需要存储少量数据的时候,是只能使用Cookie技术来实现的

Cookie技术的缺点

  • Cookie的大小会被限制在4KB以内
  • Cookie会随着HTTP请求一起向服务器去发送,重复多次发送就会导致带宽的浪费,也就是说如果我去浏览了一张网页,请求到了Cookie,然后点击下一页的时候,再返回上一页
  • Cookie信息在网络传输过程中并未进行加密,存在一定的安全隐患
  • Cookie的操作相对比较复杂

关于网上的Cookie的一段解释,需要注意的是Cookie分为临时性存储和永久性存储,临时性存储只在浏览器打开的时候存在,永久性就是在用户的磁盘上存着的,在有效期之前可以一直使用

Cookie就是由服务器发给客户端的特殊信息,而这些信息以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求的时候都会带上这些特殊的信息。其实说得更具体一些:当用户使用浏览器访问一个支持Cookie的网站的时候,用户会提供包括用户名在内的个人信息并且提交至服务器;接着,服务器在向客户端回传相应的超文本的同时也会发回这些个人信息,当然这些信息并不是存放在HTTP响应体(Response Body)中的,而是存放于HTTP响应头(Response Header);当客户端浏览器接收到来自服务器的响应之后,如果是永久性存储的话,浏览器会将这些信息存放在一个统一的磁盘上的位置,自此,客户端再向服务器发送请求的时候,都会把相应的Cookie再次发回至服务器。而这次,Cookie信息则存放在HTTP请求头(Request Header)了。有了Cookie这样的技术实现,服务器在接收到来自客户端浏览器的请求之后,就能够通过分析存放于请求头的Cookie得到客户端特有的信息,从而动态生成与该客户端相对应的内容。通常,我们可以从很多网站的登录界面中看到“请记住我”这样的选项,如果你勾选了它之后再登录,那么在下一次访问该网站的时候就不需要进行重复而繁琐的登录动作了,而这个功能就是通过Cookie实现的。

这里写图片描述

判断Cookie的是会话Cookie还是持久性存储的Cookie的条件,判断过期的就是没有Cookie了
这里写图片描述

在HTML5中提供了两个与本地存储相关的技术,一个就是Web Storage,还有一个就是本地数据库。Web Storage的存储机制就是针对HTML4当中的Cookie存储机制的一种完善,本地数据库技术是HTML5中一个新增加的一个功能,是用于在本地创建一个数据库,将原来保存在服务器数据库中的数据可以直接保存在客户端本地,这样就减轻了服务器端的压力,提高了数据额访问速度

关于Web Storage的两种数据存储形式Session Storage 和 Local Storage

  • Session Storage:将数据保存在Session对象当中,Session是指用户在浏览某个网站的时候,从进入网站到浏览器关闭所经历的时间,也就是用户浏览器浏览该网站所花费的时间。Session对象用于保存用户浏览网站这段时间内所需要保存的任何数据,当用户会话失效的时候,Session Storage保存的数据也会随之丢失

  • Local Storage:将数据是保存在客户端的硬件设备中的,当浏览器关闭之后,数据仍然会存在,当下次打开浏览器访问页面的时候是仍然可以使用的,除非用户或者程序去显式的清除这个数据,不然数据是会一直存在的

其实Local Storage和Session Storage两个都是以key/value键值对的方式去存放数据,区别就在于Local Storage中的数据存放时间更加的持久

本地数据库存储

在HTML4中,数据库存放在服务器端,只能通过服务器来访问数据库。而在HTML5中提供的是本地数据库技术,提高了Web应用程序的性能,在HTML5中内置了两种本地数据库,一种是SQLite还有一种是IndexedDB,SQLite是一个开源的嵌入式的关系型数据库,而IndexedDB是一个非关系型数据库,它是通过数据仓库去实现对数据的存储,数据库中可以包含一个或者多个对象仓库,每个对象仓库都是一个记录的集合,每一条数据都有相应的键名,非关系数据库完成可以直接以对象的形式来存储,比如说一个student对象有age属性、name属性都可以直接进行key和value存储。

关系型数据库和非关系型数据库的区别

1、关系型数据库通过外键关联来建立表与表之间的关系
2、非关系型数据库通常指数据以对象的形式存储在数据库中,对象的属性存储也是基于键值对的。不需要经过sql层的解析,读写性能很高。

注意: SQLite尽管是在一些浏览器中得到了支持,但是在2010年11月W3C暂停了对该规范的继续更新,之后重点的对IndexedDB和Web Storage的规范进行更新与维护。与Web Storage相比,IndexedDB更具有优势,因为它包含了事务处理、以及更加健壮的查询功能等

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值