不要在cookie中使用特殊字符的原因分析

 更新时间:2010年07月13日 21:05:10   作者:  
参数name需要遵循规范RFC2109,也就是说name参数只能包含字母或者数字,不能包含逗号、分号、空格及美元符号。cookie的name属性设置之后不能被修改。
Constructs a cookie with a specified name and value.

The name must conform to RFC 2109. That means it can contain only ASCII alphanumeric characters and cannot contain commas, semicolons, or white space or begin with a $ character. The cookie's name cannot be changed after creation.

The value can be anything the server chooses to send. Its value is probably of interest only to the server. The cookie's value can be changed after creation with the setValue method.

By default, cookies are created according to the Netscape cookie specification. The version can be changed with the setVersion method.

以上是java API文档中对Cookie类构造函数的说明,重点对name和value可以使用的字符进行了介绍。

参数name需要遵循规范RFC2109,也就是说name参数只能包含字母或者数字,不能包含逗号、分号、空格及美元符号。cookie的name属性设置之后不能被修改。

参数value可以是服务端设置的任意值,该值可以通过setValue方法进行重新设置。

然后实际情况并非如此!!

(1)value值中不能包含逗号,如果value中包含逗号则程序无法编译。

如果value中包含逗号,如下:

Cookie pwdCookie = new Cookie("option", "block1,block2");
则异常如下:

java.lang.IllegalArgumentException: block1,block2
在另外一篇关于JavaScript操作cookie的文章中提到:

在cookie 的名或值中不能使用分号(;)、逗号(,)、等号(=)以及空格。

总之,尽量不要在cookie中使用特殊字符。

相关文章

  • echarts整合多个类似option的方法实例

    echarts整合多个类似option的方法实例

    这篇文章主要给大家介绍了关于echarts整合多个类似option的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • 鼠标悬浮在树组件节点上展示当前节点名称的三种实现方式

    鼠标悬浮在树组件节点上展示当前节点名称的三种实现方式

    这篇文章主要介绍了鼠标悬浮在树组件节点上展示当前节点名称的三种实现方式,第一种是使用css样式设置,第二种在checkBox绑定,第三种使用tooltip,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2023-12-12
  • 在 JavaScript 中保留小数点后两位的方法

    在 JavaScript 中保留小数点后两位的方法

    在 JavaScript 中,有多种方法可以保留小数点后两位,本文给大家分享比较常用的方法,文末给大家介绍了实现数据格式化保留两位小数的多种方法,感兴趣的朋友一起看看吧
    2023-10-10
  • javascript+jQuery实现360开机时间显示效果

    javascript+jQuery实现360开机时间显示效果

    这篇文章主要介绍了javascript+jQuery实现360开机时间显示效果,在文中给大家提到了js实现时间倒计时的代码,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-11-11
  • JavaScript实现留言板案例

    JavaScript实现留言板案例

    这篇文章主要为大家详细介绍了JavaScript实现留言板案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 微信小程序wx:for 的使用及wx:key绑定两种方式

    微信小程序wx:for 的使用及wx:key绑定两种方式

    wx:for是微信小程序中的一个列表渲染指令,用于循环渲染一个数组或对象中的数据,它类似于JavaScript中的for循环,可以根据数据的长度自动渲染相应的列表项,本文给大家介绍微信小程序wx:for 的使用及wx:key绑定两种方式,感兴趣的朋友一起看看吧
    2023-12-12
  • 极致之美——百行代码实现全新智能语言

    极致之美——百行代码实现全新智能语言

    极致之美——百行代码实现全新智能语言...
    2007-03-03
  • 浅析BootStrap栅格系统

    浅析BootStrap栅格系统

    这篇文章主要介绍了浅析BootStrap栅格系统的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • ES6之Proxy的get方法详解

    ES6之Proxy的get方法详解

    这篇文章主要介绍了ES6之Proxy的get方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • 微信小程序实现分享到朋友圈功能

    微信小程序实现分享到朋友圈功能

    这篇文章主要为大家详细介绍了微信小程序实现分享到朋友圈功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07

最新评论