一、session和cookie的特征
很多人认为,session是服务端的,cookie是客户端的。其实呢,session和cookie都是服务器产生的,都是键值对应的。
** session是保存在服务器的,服务器会生成对应的session文件,cookie是返回给客户端的,然后客户端在存储相关文件。**
session在服务器的入口是ID,然后服务器查出对应的的值,通过类似cookie的形式,返回给客户端(相当于买电影票)。客户端(浏览器),会在发送请求的时候,自动将本地存活的cookie封装在信息头中发送给服务器(相当于,看电影验票)。
**session和cookie都是有生命周期的。**
cookie的生命周期受到:cookie自身生命周期以及客户端是否保留cookie文件的影响(相当于,电影票没看确丢了)。
session的生命周期受到:session自身的存活周期以及客户端是否关闭的影响。
**session和cookie都是有作用域的。**
二、cookie和session的区别与使用
$.cookie('the_cookie', 'the_value');
$.cookie('the_cookie', 'the_value', { expires: 7 });
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
$.cookie('the_cookie');
$.cookie('the_cookie', null);
原理上,cookie与session,是相同的。同样的,我们用Jquery操作session。使用 jquery.session.js操作session:
使用之前需要引入,Jquery.js与 jquery.session.js哦,我们将使用sessionStorage对象,它类似与localStorage对象,只是sessionStorage是用来储存session数据的。当用户关闭浏览器这个数据会被清除掉。
1.添加数据
$.session.set('key', 'value')
2.删除数据
$.session.remove('key');
3.获取数据
$.session.get('key');
4.清除数据
$.session.clear();
session相对cookie更加安全一点,因为用户只是拿到了一个session ID来读取服务保存的配置文件,而读取的逻辑实现状态等是没有办法轻而易举破解,这种服务器的验证机制的。
笔者综述:当我们遇到一些全局变量,状态值之类的。在一次请求,或者路径跳转等的时候,可以一步步的存储获取。但是当我们,跨请求,跨路径在想获取这些参数的时候怎么办呢。自然而然就会想到:要是有一个配置文件就好了,我直接读取配置文件里面的内容,遇到新值我直接存储或者修改配置文件就好了。那么cookie和session就是了。只不过,cookie的配置文件在本地,session的配置文件在服务器,都是会被清除掉的临时文件。--HoYL
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。