1

我想在客户端的单个 cookie 中存储多个名称值对。这些名称值对之一是文档引用者。我不确定我可以在推荐人中找到哪些字符,所以我不确定选择什么分隔符。

假设我选择波浪号 ~ 字符将名称与值分隔开来,而竖线 | 用于分隔名称值对的字符。然后我可能会得到一个像这样的cookie:

my_cookie=a~1|b~2|c~3

现在假设我的推荐人是http://www.google.com/search?q=the~middle,那么我的 cookie 现在是:

my_cookie=a~1|b~2|c~3|referrer~http://www.google.com/search?q=the~middle

我认为我不能依赖在引用 URL 中编码为 %7E 的波浪号字符(或者我可以吗?),因此我无法解析我的 cookie 以获取组件部分。

所以我的问题是:
(1)我的两个分隔符是否可以安全地选择字符?
(2) 我可以依靠 ~ 和 | 总是在推荐人中编码?

非常感谢,
保罗

4

2 回答 2

1

您可能无法“依赖被编码为 %7E 的波浪字符”,但您当然可以通过将所有 ~ 替换为 %7E 以这种方式将其存储在 cookie 中

于 2011-03-08T14:35:12.827 回答
0

注意:Cookies 不能有空格,所以我的回答无效。感谢用户649650。

您可以以一种可能永远不会存储在 URL 中的方式使用 ~ 字符。空格将始终编码为 %20 您可以使用“~”作为分隔符

my_cookie=a~ 1|b~ 2|c~ 3|referrer~ http://www.google.com/search?q=the~middle

会处理这种情况

my_cookie=a~ 1|b~ 2|c~ 3|referrer~ http://www.google.com/search?q=the~%20middle
于 2011-03-08T14:40:51.930 回答