gpt4 book ai didi

javascript - 为什么 cookies 是字符串而不是对象?

转载 作者:行者123 更新时间:2023-11-28 01:00:14 26 4
gpt4 key购买 nike

我正在尝试了解有关 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 方法来查看、获取和设置?

最佳答案

我做了一些研究,我想做一个猜测。

Cookie 的创建是为了让网站记住一些小的特定信息,例如用户偏好。具体来说,它们是 94 年 Netscape 的某个人在开发电子商务应用程序时创建的。他应用了一种称为“magic cookie”的方法,这是一种常见的 Web 编程方法( http://en.m.wikipedia.org/wiki/Magic_cookie )。

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

我猜的组合是:1. 需要简单地存储一些有关交易的关键信息。2. 事实上,它们是安全的,因此不能包含任何类型的函数或代码片段可能导致了 cookie 的不进化。

维基百科上有很多关于 cookie 历史的内容,我建议您阅读。我刚刚读了它们,发现它们 super 有趣。

我建议的最后一件事是尽快了解 cookie,并开始阅读/研究 Localstorage ( http://en.m.wikipedia.org/wiki/Web_storage )。

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

我希望我有用!

关于javascript - 为什么 cookies 是字符串而不是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25704770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com