无法在java中的cookie名称中读取带有“:”的cookie

时间:2015-11-09 06:57:32

标签: servlets cookies

我有一个名称在cookie名称中带有冒号的cookie。

ex:abcd:1 = someVAlueOfCookies

我没有在java servlet请求的request.getCookies()中获取此cookie。

我们不能在其中加上带有“:”的cookie名称。

请帮忙

1 个答案:

答案 0 :(得分:1)

Cookie JavaDoc

  

该名称必须符合RFC 2109.

RFC2109

  

4.1语法:常规

     

两个状态管理标头Set-Cookie和Cookie很常见      涉及属性 - 值对的句法属性。下列      语法使用符号和标记DIGIT(十进制数字)和      令牌(非正式地,一系列非特殊的非白色空间      字符)来自HTTP / 1.1规范[RFC 2068]来描述      他们的语法。

av-pairs        =       av-pair *(";" av-pair)
av-pair         =       attr ["=" value]        ; optional value
attr            =       token
value           =       word
word            =       token | quoted-string

RFC2068

token          = 1*<any CHAR except CTLs or tspecials>
tspecials      = "(" | ")" | "<" | ">" | "@"
                     | "," | ";" | ":" | "\" | <">
                     | "/" | "[" | "]" | "?" | "="
                     | "{" | "}" | SP | HT

所以,是的,Java的cookie名称不能有冒号。有更新的cookie规范,不使用冒号是建议,而不是义务,但Java似乎符合这个旧标准。<​​/ p>