深入浅出,解析cookie与session-创新互联

一、session和cookie的特征

兰山网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司

很多人认为,session是服务端的,cookie是客户端的。其实呢,session和cookie都是服务器产生的,都是键值对应的。
**  session是保存在服务器的,服务器会生成对应的session文件,cookie是返回给客户端的,然后客户端在存储相关文件。**
    session在服务器的入口是ID,然后服务器查出对应的的值,通过类似cookie的形式,返回给客户端(相当于买电影票)。客户端(浏览器),会在发送请求的时候,自动将本地存活的cookie封装在信息头中发送给服务器(相当于,看电影验票)。
    **session和cookie都是有生命周期的。**
    cookie的生命周期受到:cookie自身生命周期以及客户端是否保留cookie文件的影响(相当于,电影票没看确丢了)。
    session的生命周期受到:session自身的存活周期以及客户端是否关闭的影响。
    **session和cookie都是有作用域的。**

二、cookie和session的区别与使用


cookie:


  • 1、不同的浏览器存储cookie的位置不一样,也不能通用;
  • 2、cookie存储是以域名的形式进行区分的;
  • 3、cookie的数据可以设置名字;
  • 4、一个域名下存放cookie的个数是有限的,不同的浏览器存放的个数也是不同的;
  • 5、每个cookie存放的文件内容大小也是有限制的,不同浏览器存放的大小也是不同的;
    Jquery操作cookie:
    1.添加一个"会话cookie"
    $.cookie('the_cookie', 'the_value');
    这里没有指明 cookie有效时间,所创建的cookie有效期默认到用户关闭浏览器为止,所以被称为 “会话cookie(session cookie)”。
    2.创建一个cookie并设置有效时间为 7天
    $.cookie('the_cookie', 'the_value', { expires: 7 });
    这里指明了cookie有效时间,所创建的cookie被称为“持久 cookie (persistent cookie)”。注意单位是:天;
    3.创建一个cookie并设置 cookie的有效路径
    $.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });
    在默认情况下,只有设置 cookie的网页才能读取该 cookie。如果想让一个页面读取另一个页面设置的cookie,必须设置cookie的路径。cookie的路径用于设置能够读取 cookie的顶级目录。将这个路径设置为网站的根目录,可以让所有网页都能互相读取 cookie (一般不要这样设置,防止出现冲突)。
    4.读取cookie
    $.cookie('the_cookie');
    5.删除cookie
    $.cookie('the_cookie', null);
    cookie是服务器返回给客户端,并保存在客户端的。因此存在暴利破解的可能性。

session


原理上,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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:深入浅出,解析cookie与session-创新互联
网站地址:http://scyanting.com/article/desjce.html