分号;
,Cookie:
字符串还是其他字符串?
问问题
22925 次
2 回答
36
检查 HTTP 请求中的 cookie
标Cookie:
头具有以下语法:
Cookie: <Name> = <Value> { ; <Name> = <Value> }
因此,单个 cookie用分号和空格分隔。
在 HTTP 响应中设置 cookie
另一方面,在响应中设置 cookie 时,每个Set-Cookie:
标头都有一个 cookie:
Set-Cookie: <Name> = <Value> [ ; expires = <Date>] [ ; path = <Path> ] [ ; domain = <Domain> ] // etc…
要设置多个 cookie,Set-Cookie
标头会在 HTTP 响应中重复。
笔记:
- 在此处查看带有示例的教程,并查看RFC 6265 HTTP 状态管理机制以获取显示语法完整细节的规范性参考。
- 现在已经过时的RFC 2965定义了一对备用的标头
Cookie2
,Set-Cookie2
并且被放弃了。 - HTTP 状态管理机制(RFC 2109和RFC 2965 )的过时版本提供了一种将多个
Set-Cookie
(或Set-Cookie2
)标头合并为一个的方法。但是,最新的RFC 6265规范不推荐这种折叠方式。
于 2011-01-30T15:10:39.220 回答
1
答案是逗号,
。
在RFC 2109的第 4.2.2 节中有这个Set-Cookie
标头规范
set-cookie = "Set-Cookie:" cookies
cookies = 1#cookie
使用以下语句非正式地,Set-Cookie 响应标头包含令牌 Set-Cookie:,后跟一个或多个 cookie 的逗号分隔列表。(上述符号中的正式含义#
在RFC 733的 A 节中定义。 NOTATIONAL CONVENTIONS,第 5 点
定义了一个构造“#”,类似于“*”,如下所示:
<l>#<m>element
表示至少
<l>
和最多<m>
元素,每个元素由一个或多个逗号 (",") 分隔。
是的,RFC 2109 已被 RFC 2965 淘汰,而 RFC 2965 又被RFC 6265淘汰。
不,在这种情况下它不会改变任何东西
- 大多数现有的 HTTP 服务器和客户端都支持 RFC 2109
- RFC 6265不禁止
Set-Cookie
折叠
于 2011-11-24T22:19:17.043 回答