在HTTP规范中,分隔Cookie的字符串是什么?
分号在HTTP规范中,分隔Cookie的字符串是什么?,http,http-headers,rfc,httpcookie,Http,Http Headers,Rfc,Httpcookie,分号,Cookie:字符串或其他字符串?检查HTTP请求中的Cookie Cookie:标头具有以下语法: Cookie: <Name> = <Value> { ; <Name> = <Value> } 要设置多个Cookie,set Cookie头在HTTP响应中重复 注: 请查看包含示例的教程,以及显示语法完整细节的规范性参考 现在已经过时的文件定义了一对替代的头文件Cookie2和Set-Cookie2,它们被放弃了 HTTP状态管理机
,Cookie:
字符串或其他字符串?检查HTTP请求中的Cookie
Cookie:
标头具有以下语法:
Cookie: <Name> = <Value> { ; <Name> = <Value> }
要设置多个Cookie,set Cookie
头在HTTP响应中重复
注:
- 请查看包含示例的教程,以及显示语法完整细节的规范性参考
- 现在已经过时的文件定义了一对替代的头文件
和Cookie2
,它们被放弃了Set-Cookie2
- HTTP状态管理机制(和)的过时版本提供了一种将多个
(或Set-Cookie
)头折叠为一个头的方法。但是,最新规范不推荐这种折叠Set-Cookie2
,
符号。
在第4.2.2节中,有Set Cookie
头的规范
set-cookie = "Set-Cookie:" cookies
cookies = 1#cookie
对于以下非正式语句,Set Cookie响应头包含令牌Set Cookie:,后跟一个或多个Cookie的逗号分隔列表。(上述符号中#
的正式含义见第A节“符号约定”第5点中的定义。)
构造“#”的定义类似于“*”,如下所示:
<l>#<m>element
#元素
表示至少
和最多
元素,每个元素之间用
一个或多个逗号(“,”)
是的,RFC 2109被RFC 2965淘汰,而RFC 2965又被淘汰。不,在这种情况下,它不会改变任何东西
- 大多数现有HTTP服务器和客户端支持RFC2109
- RFC 6265不不禁止
折叠设置Cookie
Set cookie:
头中有一个cookie:Not true。在one reads的第4.2.1节中,源服务器可能在响应中包含多个Set cookie头。请注意,中间网关可以将多个此类头折叠到单个头中。在sam的第4.2.2节中RFC one非正式读取时,Set Cookie响应头包含令牌Set Cookie:,后面是一个逗号分隔的一个或多个Cookie列表。@PIOTRDOPROGOST RFC 2109被RFC 2965淘汰,RFC 2965又被RFC 6265淘汰。最新规范建议避免Set Cookie
折叠。2109和2965都不支持fol在呈现的ABNF语法中使用。感谢您指出这种歧义。我将在我的回复中修复RFC引用。2109和2965都不支持呈现的ABNF语法中的折叠。呈现的ABNF语法不正确明确地支持在一个Set Cookie
标头中使用多个Cookie(折叠)-见我的答案。因此,单个Cookie用分号分隔。不正确。Cookie:
标题语法中的分号分隔每个=
对,而不是每个Cookie,因为每个Cookie可以有任意数量的这样的对。“用分号分隔”-尽管它们实际上用分号+空格分隔(2个字符).Related:,这很重要。RFC 6265应该描述UAs的实际功能。@JulianReschke在这种情况下,你能告诉我们哪些流行的UAs不处理折叠设置Cookie
头吗?Piotr,我不知道,我也没有说过。我只是指出RFC 6265应该准确地定义cookies是如何ork,与旧的RFC相反。-1因为此答案直接与接受的答案相矛盾,并且此答案的作者甚至承认它在接受的答案的评论线程中不是逗号。此答案不应该完全删除吗?RFC 6265不禁止设置Cookie折叠(可能是为了向后兼容),但它强烈反对使用“不应该”:“源服务器不应该将多个集合Cookie头字段折叠成单个头字段。”
<l>#<m>element