1

————— --- 图片描述 --- ——————

相信 现在的程序猿对 "cookie" 和 "session" 应该都非常熟悉也有自己的理解思路 下面呢我介绍一些自己有关于 : "cookie" 和 "session" 的一些相关知识见解 望能帮助需要了解与帮助的程序猿们 ……

还有:sessionStorage、localStorage和cookie的区别 等等……

cookie和session的区别

  • cookie数据存放在客户的浏览器上,session数据放在服务器上

  • cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑*到安全应当使用session

  • session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie

  • 单个cookie保存的数*据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

  • 建议将登录信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中

  • session保存在服务器,客户端不知道其中的信心;cookie保存在客户端,服务器能够知道其中的信息

  • session中保存的是对象,cookie中保存的是字符串

  • session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到,而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的

使用jQuery操作Cookies

Cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。当你浏览某网站时,你硬盘上会生产一个非常小的文本文件,它可以记录你的用户ID、密码、浏览过的网页、停留的时间等信息。

当你再次来到该网站时,网站通过读取Cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。从本质上讲,它可以看作是你的身份证。

创建Cookie

使用jQuery设置cookie非常简单。如,我们创建一个名为“example”,值为“foo”的cookie:

    $.cookie("example", "foo");
   

要设置cookie的有效期,可以设置expires值,如设置cookie的过期时间为10天:

    $.cookie("example", "foo",{expires:10});  

设置cookie一小时后过期:

    var cookietime = new Date(); 
    
    cookietime.setTime(date.getTime() + (60 * 60 * 1000));//coockie保存一小时    
    
    $.cookie("example", "foo",{expires:cookietime});  

要设置cookie的保存路径,可以设置path值,如设置路径为根目录:

    $.cookie("example", "foo",{path:"/"});  

如果要设置路径为/admin,则:

    $.cookie("example", "foo",{path:"/admin"});  
    

获取cookie值

使用jQuery获取cookie的值的方法那是相当的简单,下面是弹出框显示名为“example”的cookie的值:

    alert($.cookie("example")); 

删除Cookie

使用jQuery删除cookie,只需要将cookie的值为null,注意如果设置值为空的字符串时,并不能删除cookie,只是将cookie值清空而已。

    $.cookie("example",null);  

localStorage,sessionStorage和cookie的区别

共同点:都是保存在浏览器端、且同源的
区别:

  • cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递,而sessionStorage和localStorage不会自动把数据发送给服务器,仅在本地保存。cookie数据还有路径(path)的概念,可以限制cookie只属于某个路径下

  • 存储大小限制也不同,cookie数据不能超过4K,同时因为每次http请求都会携带cookie、所以cookie只适合保存很小的数据,如会话标识。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或更大

  • 数据有效期不同,sessionStorage:仅在当前浏览器窗口关闭之前有效;localStorage:始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie:只在设置的cookie过期时间之前有效,即使窗口关闭或浏览器关闭

  • 作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localstorage在所有同源窗口中都是共享的;cookie也是在所有同源窗口中都是共享的

  • web Storage支持事件通知机制,可以将数据更新的通知发送给监听者

  • web Storage的api接口使用更方便

sessionStorage与页面js数据对象的区别

页面中一般的js对象的生存期仅在当前页面有效,因此刷新页面或转到另一页面这样的重新加载页面的情况,数据就不存在了

而sessionStorage只要同源的同窗口中,刷新页面或进入同源的不同页面,数据始终存在,也就是说只要浏览器不关闭,数据仍然存在

  尽情期待   其他相关技术的更新发布   ……
  
  
  
                                                          :搜狗搜到你丶



搜狗搜到你
533 声望31 粉丝

“工欲善其事,必先利其器”。 思考、书籍和社会实践使我不断走向成熟,对知识的渴望,对理想的追求,人际关系的扩展,思维方式的变更,造就了我不断完善的专业技能和日趋成熟的思想,培养了我务实进取、认真负责的...


引用和评论

1 篇内容引用
0 条评论