为什么cookie字符串而不是对象?

时间:2014-09-06 21:08:37

标签: javascript cookies

我正在尝试学习所有关于cookie的知识。通过探索document.cookie和相关方法,我了解到获取cookie并不是那么简单。是的,获取和设置cookie的功能是直截了当的,但是为什么cookie字符串似乎可以更好地用作对象?

例如,获取cookie需要:

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) != -1) return c.substring(name.length,c.length);
    }
    return "";
}

但如果cookie是一个对象,我们不能只使用类似的东西:

document.cookie(cookiename)?

我知道因此对于那些遵循js标签的人来说必须听起来太基本了。但我只是想了解使用字符串作为cookie的选择,因为它们看起来如此广泛使用它们当然值得拥有自己的内置js方法来查看,获取和设置?

1 个答案:

答案 0 :(得分:1)

我做了一些研究,我想猜一下。

创建Cookie是一种让网站记住某些特定事物(如用户偏好)的方法。具体来说,他们是在94年netscape的某个人正在开发电子商务应用程序时创建的。他将一种名为“魔术饼干”的方法应用于网络中常用编程中常用的方法(http://en.m.wikipedia.org/wiki/Magic_cookie)。

从那时起,一直需要存储一些用户事务的简单url参数。您知道的技术是存储包含要记住的参数的特定简单文本文件。当Internet Explorer将其集成到v2浏览器中时,它似乎会分散开来。

我想组合: 1.需要简单地存储关于交易的一些关键信息。 2.它们本身是安全的,因此它们不能包含任何类型的函数或代码 可能有助于cookie的不进化。

我建议您阅读维基百科上关于cookie历史的很多内容。我只是阅读它们,发现它们非常有趣和有趣。

我建议的最后一件事是尽可能快地了解cookies并开始阅读/学习Localstorage(http://en.m.wikipedia.org/wiki/Web_storage)。

优点是您可以使用json对象来管理存储的数据。 缺点是没有与您的服务器共享数据的版本(无论如何,特殊类型的cookie都可以完成工作)。

我希望自己有用!