Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Cookie与Web存储_Javascript_Html - Fatal编程技术网

Javascript Cookie与Web存储

Javascript Cookie与Web存储,javascript,html,Javascript,Html,我正在创建一个项目,我想保存用户达到的最后一个级别,以便他们可以在下次离开的地方继续。我想知道我是否应该使用cookie或web存储,以及使用每种cookie或web存储的原因。例如,一个是否会影响性能,一个通常启用/禁用,一个现代浏览器不支持,等等 我还想知道,除了这两种选择之外,我是否还有其他选择可以替代,以及这些选择的优缺点是什么 谢谢大家! 它们的目的完全不同。Cookie可从服务器获得,而Web存储仅可用于客户端。每一个请求,cookies都会通过HTTP头发送到服务器。当服务器不需要

我正在创建一个项目,我想保存用户达到的最后一个级别,以便他们可以在下次离开的地方继续。我想知道我是否应该使用cookie或web存储,以及使用每种cookie或web存储的原因。例如,一个是否会影响性能,一个通常启用/禁用,一个现代浏览器不支持,等等

我还想知道,除了这两种选择之外,我是否还有其他选择可以替代,以及这些选择的优缺点是什么


谢谢大家!

它们的目的完全不同。Cookie可从服务器获得,而Web存储仅可用于客户端。每一个请求,cookies都会通过HTTP头发送到服务器。当服务器不需要数据时,不需要这样做。在这种情况下,Web存储可能是一条出路

这完全取决于你想让谁访问数据

Web存储提供了一种永久存储数据的方法(直到用户清除其浏览器缓存),而Cookie设置为在特定时间后过期

Web存储也更适合存储大块数据,比如数据的完整JSON表示(高达5MB)。Web存储从IE8开始就受到支持,所以这应该没有问题。

**Cookies**
赞成的意见
1.遗留支持(它已经存在了很久)
2.持久数据
3.有效期
欺骗
1.每个域都将其所有cookie存储在一个字符串中,这会使解析数据变得困难
2.数据未加密。
3.cookie的大小很小,每个HTTP请求都会发送cookie
4.有限大小(4KB)
5.SQL注入可以从cookie执行
**本地存储/Web存储**
赞成的意见
1.大多数现代浏览器的支持
2.永久性数据,即。。。
3.直接存储在浏览器中
4.同源规则适用于本地存储数据
5.不是随每个HTTP请求一起发送
6. ~每个域有5MB存储空间(即5120KB)
欺骗
之前没有任何支持:
1.IE 8
2.火狐3.5
3.狩猎4
4.铬4
5.歌剧10.5
6.iOS 2.0
7.安卓2.0
8.如果服务器需要存储的客户机信息,您必须特意发送它。[3]
根据我的比较,我认为本地存储是存储客户端数据的cookie的逻辑继承者。虽然Cookie最初是作为一种变通方法创建的,但本地存储的设计却有其目的。
本地存储更易于使用,因为您不必解析字符串来获取数据。相反,您可以调用变量名并返回其值。这同样适用于创建和删除数据。
在保存客户端数据方面,我相信本地存储是成功的。然而,正如stackoverflow boards上的某个人指出的那样,如果您的服务器需要来自客户端的信息,那么cookies将是一个更好的解决方案。但如果您只想保存用户pref、num vists或其他类似内容,请选择本地存储。