对于 Cookie 的处理上,我最近遇到一个问题,那就是如何分割 Cookie 的内容。有人说是使用逗号分割,有人说是使用分号分割,究竟用哪个才是对的?其实这个答案是需要分为两个过程,分别是请求和响应,来进行回答。请求过程的 Cookie 和响应返回的 Cookie 的格式是不相同的
请求 Request 的 Cookie 是放在 Cookie
头里面的,可以使用逗号或分号进行分割多个不同的 Cookie 内容。 但是大部分情况下都是采用分号加空格 ;
的方式进行分割,而不是逗号分割,且在 Cookie 的 Key 和 Value 里面,是不允许出现分号和逗号字符,如果真需要,那就需要进行转码
根据 rfc2965 可以知道,在 Cookie 里面,服务器端接收的请求是需要处理两个方式分割的内容: 使用分号 ;
分割和使用逗号 ,
分割的情况。也就是说采用分号和逗号都是合理的,只是大家遵不遵守这个规范就是另一回事了
Note: For backward compatibility, the separator in the Cookie header
is semi-colon (