【发布时间】:2011-05-24 09:13:11
【问题描述】:
我知道还有其他问题,但他们的答案似乎是假设而不是确定的。
我的有限理解是 cookie 值是:
- 分号已用于分隔单个 cookie 中的 cookie 属性。
- 等号用于分隔 cookie 名称和值
- 冒号用于分隔标头中的多个 cookie。
还有其他“特殊”字符吗?
其他一些 q/a 建议一个 base64 对值进行编码,但这当然可能包括等号,这当然是无效的。
我还看到了一些建议,可能会引用值,但这会导致其他问题。
- 特殊字符需要加引号吗?
- 引用的值是否支持常用的反斜杠转义机制。
RFC 我阅读了一些 RFC,包括许多 cookie RFCS 中的一些,但我仍然不确定,因为存在对另一个 RFC 等的交叉引用,没有明确的简单解释或“回答”我的查询的示例。
希望没有人会说阅读 RFC,因为问题变成了哪个 RFC...?
我想我也读过不同的浏览器有稍微不同的规则,所以如果这很重要,希望在你的回答中注明这一点。
【问题讨论】:
-
根据 RFC 6265,
=字符允许在 cookie 值中使用(第 4.1.1 节)。它只是不允许作为键(这当然是有道理的)。所以Base64没问题。如果您想知道“哪个 RFC”,这似乎是一个。