cookie被淘汰_四种有能力取代Cookies的客户端Web存储方案

随着Web应用程序对客户端数据存储需求的增加,传统的cookies机制因其局限性逐渐被淘汰。本文介绍了四种新兴的客户端Web存储方案:Web SQL、IndexedDB、Web Storage和Application Cache,它们在存储容量、搜索效率和离线支持等方面提供了更好的解决方案。Web Storage提供持久化的键值对存储,IndexedDB支持高效搜索和无限制数据大小,Application Cache则实现了离线应用的支持。这四种方案为现代Web应用提供了更强大的本地存储能力。
摘要由CSDN通过智能技术生成

目前在用户的网络浏览器中保存大量数据需要遵循几大现有标准,每一种标准都拥有自己的优势、短板、独特的W3C标准化状态以及浏览器支持级别。但无论如何,这些标准的实际表现都优于广泛存在的cookies机制。

今天的Web应用程序开始在客户端中执行大量数据处理工作,甚至可能需要以脱机方式完成任务。可以说,客户端数据存储对于下一代Web应用程序的发展起到了至关重要的作用。

然而直到现在,cookies仍然是用户浏览器中最常见的数据存储机制。如果一款Web应用需要重复访问某些数据,则只有两种方式可供选择:要么再次向服务器发送请求以获取数据,要么读取保存在cookies中的内容。

cookies机制只能提供有限的存储空间——最多4K或者4096字节——因此总量较大的数据会被拆分成4K大小的块从而加以明确而直接地管理。

但这种方式对于存储的协作及管理而言显然并不可行,因此我们需要拿出一套新的替代性方案。

cookies的承受能力太过孱弱

网络浏览器最初只是通过HTTP并解析HTML实现应用程序对文档内容的加载。但在此后不久,第一款网景浏览器出现了,它满足了用户的一系列实际需求,但却需要利用本质上无状态的HTTP协议来通过某些机制实现状态追踪。面对这一问题,Lou Montulli于1994年创造了浏览器cookie(当初被称为‘magic cookie’),并首次亮相于Mosiac网景浏览器0.9b版本之上。

在通用网关接口(简称CGI)提供的服务器端脚本访问功能与cookies的共同辅助下,最早的Web应用程序终于变成现实。最终,我们开始沿着这条小路将浏览器转化成为一种通用的应用程序平台。

然而cookies机制存在着严重缺陷。正如前面所提到,它只能存储极少量数据,而且很容易受到各类攻击活动的影响,这样的状况让我们很难利用其存储个人信息及敏感数据、从而极大限制了它的使用范围。

cookies会介入到从浏览器发向服务器端的每一条HTTP请求当中。假设一个网页中包含的四张图片、一个外部CSS文档外加JavaScript文档。系统会为该域设置一个4K的cookie,浏览器则分四次将该cookie转发至服务器端——一次针对HTML页面、一次针对每张图片、一次针对CSS文档再加上一次针对JavaScript文档。

令问题进一步复杂化的原因在于,这个理论上为4K大小的cookie需要从浏览器端传输至服务器端;由于大部分用户使用的是异步互联网连接,即上传速度低于下载速度,因此在HTTP响应头中传输cookie数据一定会造成不必要的带宽占用。

由于上述限制因素的存在,大部分cookies的体积都要远小于4K。谷歌建议每个cookie的实际大小不要超过400字节(或者200个字符),从而实现最佳性能表现。他们还建议称,在图片、CSS以及JavaScript等来自独特域的静态文件应该禁用cookies机制。

由于cookies机制在本地存储领域存在诸多问题,目前已经出现一系列新兴方案,旨在拨乱反正、保质保

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值