首页 > 代码库 > cookie

cookie

一、cookie的大小

  cookie只能存储最大4kb的数据。cookie的名/值中的值不允许包含分号、逗号和空白符。因此可以采用encodeURIComponent()编码,读取的时候先采用decodeURIComponent()解码。

二、cookie的有效期

  cookie默认的有效期很短暂,它只能持续在Web浏览器的会话期间,一旦用户关闭了浏览器,cookie保存的数据就丢失了。如果想延长cookie的有效期,可以通过设置max-age属性。

三、cookie的共享

  来自同一台Web服务器的Web页面,只要其URL是以指定的路径前缀开始的,都可以共享cookie。

  例如:如果页面http://www.xxx.com/category/abc/123.html创建了一个cookie,并且将该路径设置成/category,那么该cookie对于http://www.xxx.com/category/abc.com也是可见的。如果把路径设置成"/",那么该cookie对任何http://www.xxx.com这台Web服务器上的页面都是可见的。

四、跨域cookie

  如果user.xxx.com域下的服务器想要读取www.xxx.com域名下设置的cookie值。这个时候可以通过设置domain属性来得到目的。如果user.xxx.com域下的一个页面创建了一个cookie,并将其path属性设置成"/",即domain属性设置成".xxx.com",那么该cookie对所有的123.xxx.com,www.xxx.com都是可见的。如果没有为一个cookie设置域属性,那么domain属性的默认值是当前Web服务器的主机名(即其他子域名不能够访问)。

五、cookie的安全策略

  cookie属性的secure,它是一个布尔类型的属性,用来表明cookie的值以何种形式通过网络传递。cookie默认是以不安全的形式(通过普通的,不安全的HTTP链接)传递的,而一旦cookie被标志为“安全的”,那就只能当浏览器与服务器通过HTTPS或者其他的安全协议链接的时候才能传递它。

  以下给出一个javascript设置和读取cookie的例子:

        window.onload = function () {            if (document.cookie) {                alert(document.cookie);            }            document.cookie = "name=张学友;path=/";        }

  如果还想要设置其他属性,只要最佳到字符串后面即可,用";"分隔。例如,"path=path;domain=domain;

  jQuery处理cookie地址:http://www.cnblogs.com/kissdodog/archive/2012/12/14/2818827.html