有关cookie的内容

包括: 
Cookie概述(Cookie的存放,有效期和作用域) 
Cookie操作(保存Cookie,读取Cookie,Cookie的生命周期) 
Cookie工作原理(Cookie与会话跟踪,Cookie安全性) 


Cookie概述: 
    Cookie是由服务器生成并存储在客户端文件系统(.txt格式)中的key/value对。当浏览器再次请求该站点上的页面时,就会自动把保存的Cookie发回服务器。 
    Cookie使得浏览器可以在访问同一个站点的不同请求间传递数据,让服务器程序识别不同的客户端。 
    (cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。) 
    典型应用:保存用户登录状态、跟踪用户行为、页面定制、保存购物车等需要保存全局变量的场合。 
    PS:出于隐私保护的考虑,浏览器可以选择禁用Cookie,或者手动删除。 

Cookie的存放: 
    Cookie保存在客户端某个特定的目录下的一个.txt文本文件中,且不同站点的Cookie数据保存不同的文件中。 
    Cookie数据一般都是加密后保存的。 

有效期和作用域: 
    有效期:Cookie可以指定一个expires值,定义其生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生命周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。 
    作用域:默认情况下,某个站点保存的Cookie只能自己访问,不能被其他站点使用。但可以设置Cookie的domain和path值,限定在哪个域名下的哪个路径可以访问此Cookie。 
    PS:“广告联盟”是个亟待规范的问题。 

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Cookie操作 

保存Cookie: 
    Cookie可以由服务器程序(如Java、PHP等)创建并发送给客户端保存;也可以由客户端JavaScript脚本创建并保存。 

    //保存一个简单的Cookie 
    document.cookie='uname=tom'; 
    //保存一个内容复杂的Cookie 
    document.cookie='msg='+encodeURIComponent('Hi,JS 你好'); 
    //保存一个具有指定超时时间的Cookie 
    document.cookie='uid=7788;expires='+new Date().toGMTString(); 

    上述三行语句可以创建并保存三个Cookie,而不是只有一个! 
    PS:Cookie键值中不能包含分号,逗号,等号,空格,同时为了防止中文乱码问题,键值应该使用encodeURIComponent()函数进行编码。 

读取Cookie: 
    可以使用document.cookie获取当前站点可以读取的所有Cookie(多个Cookie间用;分隔) 

    var cookies = document.cookie; 
    console.log(cookies)  //多个Cookie用;分割 
    var arr = cookies.split(';'); 
    for(var i = 0;i<arr.length;i++){ 
        var cookie = arr[i];  //键值对用=分割 
        var cookiePair = cookie.split('='); 
        console.log(cookiePair[0]+'='+cookiePair[1]; 
    } 

   PS:注意cookie键名中可能会被浏览器添加了空白字符,需要trim()操作。 

Cookie的生命周期: 
    若没有指定expires属性,创建的Cookie其实只是保存在内存中,浏览器已关闭也就被销毁了。 
    可以在保存Cookie时使用expires指定其生存周期。 

    document.cookie='uid=7788'; 
    var time = new Date().getTime() + 1000*3600*24*30; 
    var exp = new Date(time); 
    document.cookie='uname=tom;expires='+exp.toGMTString(); 

   PS:同理,可以把expires设置为一个过去的时间,就可以实现删除Cookie的效果。 


= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Cookie工作原理 

Cookie工作原理: 
    Cookie是识别用户,实现状态保持的最佳方式之一。具体分为如下两种类型: 
        会话Cookie:保存在客户端内存中,关闭即删除。 
        持久Cookie:保存在客户端文件系统中,可长久使用。 
    
    客户端发送请求给服务器端,服务器端响应给客户端。 

Cookie与会话跟踪: 
    当客户端在当前web站点的多个页面间进行访问时,可以使用Cookie对该会话过程进行跟踪记录——购物车。 

Cookie安全性: 
    浏览器不会把A站点的Cookie回传给B站点,且Cookie中的敏感数据一般都是加密保存的,所以Cookie技术本身并没有太大的安全问题。 
    但是,若客户端被木马病毒控制,Cookie可能被黑客盗取并骗取服务器的信任。 
    广告联盟的存在,导致Cookie被滥用,侵犯了用户的个人隐私。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值