我听说有些人说本地存储会在几年内取代cookie。
这个陈述对我来说听起来有点不对,原因之一是: 使用PHP(或任何服务器端语言),我们可以访问cookie,但我还没有找到访问LocalStorage。
使用Ajax不是解决方案: Ajax不是一个好的解决方案,因为它意味着我必须在访问本地存储之前显示一个页面。在许多情况下,这是不可接受的。考虑存储站点的显示语言,您必须以随机(默认)语言显示一次页面,然后该站点将切换到第二页。
我们是否应该考虑客户端数据的本地存储,而不考虑服务器端(数据库等)?
答案 0 :(得分:5)
是的,顾名思义,LocalStorage旨在在客户端本地存储数据。它填补的角色不同于cookie。 您可以在其中存储更多数据,但该数据不会发送到服务器(每次连接发送1Mb数据会很糟糕)
答案 1 :(得分:1)
我认为从cookie切换到html5本地存储没有任何意义,除非该网站设计为在互联网停机时运行。但那只是我的意见
答案 2 :(得分:0)
在初始获取请求期间,将发送域的所有预先存在的cookie,并且服务器可以确定以前的用户。我没有看到使用localStorage如何完成相同的功能。使用Javawcript读取和设置LocalStorage。您不能在初始请求中使用Javascript。我看到两者都在使用,而不是LocalStorage替换cookie。
答案 3 :(得分:0)
关于浏览器存储存在一些混淆。来自DOM Storage Guide: “DOM存储旨在提供更大,更安全,更易于使用的替代方法,以便在cookie中存储信息。”
现在,确实为本地存储创建了本地存储。例如,您可以在网格上存储以前应用的过滤器。或用户偏好。这是它所属的地方。欧盟要求cookie用户同意的确切原因是,服务器通常会保留过多(个人)信息而不需要。
如上所述,还有会话存储,这是临时的,并且在刷新之间会持续存在。
但是,您可以自行决定服务器上的内容。当用户从另一个地址登录时,上述偏好可以保存在服务器上。但是将它们保存在本地存储中就像缓存一样,因此您不需要每次都请求它们。
Cookie对于会话维护仍然有用,因为您可以为每个请求发送一个标识符。
P上。 S。:我不明白为什么'加载前显示页面'是一个问题。在获得数据之前,您总是可以加载动画。