这个是一个快速的:
cookie名称和值中允许的字符是什么?它们与URL或某些常见子集相同吗?
我要问的原因是,我最近发现了一些奇怪的行为,其中包含-名称中的cookie,我只是想知道它是否是浏览器特定的,或者我的代码是否有问题.
在 ASP.NET 中发现了非常有趣的 cookie 问题:当使用 test& 之类的值添加 cookie 时
HttpCookie cookie = new HttpCookie("test", "test&");
Response.Cookies.Add(cookie);
Run Code Online (Sandbox Code Playgroud)
然后尝试检索值 Request.Cookies["test"] 尾随 & 符号丢失。如果它没有尾随,则不会丢失。在 firebug 或 javascript 中,数据是正确的,因此我认为它是特定于 asp.net 的。当然大多数人可能会说只使用UrlEncode。但这真的有必要吗?是否有 cookie 不允许的章程列表(因为我认为它比 URL 小)?我找到了类似的主题,但限制列表中没有 & 符号: Allowed characters in cookies