在某些Web服务器中,带有逗号值的cookie将被拆分为两个cookie(一个值为空值).例如,"foo=bar,goo"将被视为"foo=bar;goo=".根据RFC,这是正确的吗?
我找到了这个RFC文档,但并不确切地知道它的含义.
cookie-pair = cookie-name "=" cookie-value
cookie-name = token
cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )
cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E
; US-ASCII characters excluding CTLs,
; whitespace DQUOTE, comma, semicolon,
; and backslash
Run Code Online (Sandbox Code Playgroud)
cookie-pair = cookie-name "=" cookie-value
cookie-name = token
cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )
cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E
; US-ASCII characters excluding CTLs,
; whitespace DQUOTE, comma, semicolon,
; and backslash
Run Code Online (Sandbox Code Playgroud)
这些关键字是什么:cookie-pair,cookie-name,cookie-value,cookie-octet?
cookie-value是右边的一部分=.
cookie-octet是真正的价值,用双引号括起来或什么都没有.看到:
key="value"
Run Code Online (Sandbox Code Playgroud)
要么
key=value
Run Code Online (Sandbox Code Playgroud)
当你输入,(或;)看看会发生什么:
key="value,",key2="value2"
Run Code Online (Sandbox Code Playgroud)
要么
key=value,,key2=value2
Run Code Online (Sandbox Code Playgroud)
所以,你的假设不太正确,你不能在值中使用逗号或分号.
| 归档时间: |
|
| 查看次数: |
7018 次 |
| 最近记录: |