认识cookie
1、首先了解cookie是什么,有什么作用
我的理解就是cookie就是临时的存放数据,方便后边的使用,只不过存放在客户端上面的,如果还设置了cookie的时间,那么就是放在本机的硬件上面的,如果没有设置时间,那么就是放在本机的内存上面的。
推荐一篇写的很好的文章:这里写链接内容
并且这个文章还分析了cookie和session之间的区别
2、接着我们了解下cookie到底包括什么
cookie有四个不同的属性: 名称,内容,域,路径
$.cookie('the_cookie'); // 读取 cookie
$.cookie('the_cookie', 'the_value'); // 存储 cookie
$.cookie('the_cookie', 'the_value', { expires: 7 }); // 存储一个带7天期限的 cookie
$.cookie('the_cookie', '', { expires: -1 }); // 删除 cookie
如果cookie没有带域和路径的时候,那么存放的cookie路径就是不一样的,所有当域和路径不同时会产生不同的cookie,这个时候也就决定了后边取这个cookie是否可以取到。所以很多的时候就是要改变路径,方便后边的网页可以取到。
3、我们对路径再多加说明一下
关于cookie的path设置需要注意,如果不设置path:’/’的话,path则会根据目录自动设置[如:http://zy.local .chivox.com/web/login.php,path会被设置为 ‘/web’],所以我在后边取这个数值的时候有时候因为路径不对,就取不到想要的值。
看几个例子增强下理解:
1. 设置cookie的值,把name变量的值设为value
$.cookie(’name’, ‘value’);
2.新建一个cookie 包括有效期 路径 域名等
$.cookie(’name’, ‘value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true});
3.新建cookie
$.cookie(’name’, ‘value’);
4.删除一个cookie
$.cookie(’name’, null);
5.取一个cookie(name)值给myvar
var account= $.cookie('name');
4、跟session的区别
session是存放在服务器上面的信息,保证了信息的绝密性,不像cookie还可以作为url的形式进行传递的,这样就不是很安全的形式,而且这样会很占内存的,如果session过多的话就是影响服务器的性能问题。