2011-03-08 36 views
0

我想在客户端的一个cookie中存储多个名称值对。其中一个名称值对是文档引荐者。我不确定在推荐链接中可以找到哪些字符,因此我不确定要选择的分隔符。假设我选择了波浪号〜字符来从值中分隔名称,并且管道|字符来分隔名称值对。然后,我可能最终得到这样一个cookie:在Cookie中存储引用URL网址

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

现在让我们说我引荐http://www.google.com/search?q=the~middle,那么我的饼干现在是:

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

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

所以我的问题是:
(1)我的两个分隔符有没有安全的字符选择?
(2)我可以依靠〜和|始终在引用者中编码?

非常感谢,
保罗

回答

0

您可能无法“依靠波浪号字符被编码为%7E”,但你一定可以用%7E更换所有〜其存储在cookie这种方式

0

注意:Cookie不能有空格,所以我的回答是无效的。感谢user649650。

您可以以永远不会存储在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 
+0

空间不是在一个cookie的值是合法的。 – user649650 2011-03-08 16:00:42