本地存储——cookie

cookie是客户端用来存储数据的一种选项,既可以设置在客户端,也可以在服务端设置,cookie会跟随任意的http请求一起发送。
cookie的优点:兼容性好
cookie的缺点:①增加了网络流量,②数据容量有限,最多能存储4kb的数据,浏览器之间各有不同,③不安全。
cookie是一小段文本信息,伴随着用户请求在web服务器和浏览器之间传递,它存储于访问者的计算机中,每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie。它是浏览器提供的一种机制,将document对象的cookie属性提供给js,可以使用js来创建和取回cookie的值,因此我们可以通过document.cookie访问它。cookie是存于用户硬盘的一个文件,这个文件通常对应于一个域名,也就是说,cookie可以跨越一个域名下的多个网页,但不能跨越多个域名使用。
cookie的根本用途:cookie将信息存储于用户硬盘,因此可以作为全局变量,这是cookie最大的优点,最根本的用途是帮助web站点保存有关访问者的信息。
例如:①保存用户登录信息;
②创建购物车(购物网站通常把已选物品保存在cookie中,这样可以实现不同页面之间数据的同步,同时在提交订单的时候又会把这些cookie传到后台);
③跟踪用户行为(例如 百度联盟 会通过cookie记录用户的偏好信息,然后再向用户推荐个性化推广信息,所以浏览其它网页的时候经常会发现旁边的小广告都是自己最近百度搜索过的东西,这个是可以禁用的,这也是cookie的缺点之一)

cookie的格式和常见的属性:字符串规律:①每个cookie都以名/值对的形式,即name = value;②名称和值都必须是URL编码的;③两对cookie之间以分号和空格隔开。domain、path、expires/max-age、size、http。secure等都是cookie的属性。
domain 和 path 这两个属性共同决定了cookie能被哪些页面共享,domain 参数是用来控制cookie对哪个域有效,默认为设置cookie的那个域,这个值可以包含子域,也可以不包含它。path 用来控制cookie发送的指定域的路径,默认为“1”,表示指定域下的所有路径都可以访问,它是域名的基础下,指定可以访问的路径。例如:cookie设置为 :
"domain = .google.com.hk; path = /webhp"

那么只有".google.com.hk/webhp"以及"/webhp"下的任一子目录(如:"/webhp/aaa")会发送cookie信息,而".google.com.hk"就不会发送,即使他们来自同一个域。
expires/max-age失效时间,expires/max-age是用来决定cookie的生命周期的,也就是cookie会何时被删除,expires表示的是失效时间,准确的说是时刻,max-age表示得是生效的时间段,以秒为单位,若max-age为正值,则表示cookie会在max-age秒后失效,如max-age = 10800,也就是生效时间是三小时,那么cookie将在三小时以后失效。若max-age为负值,则cookie会在浏览器会话结束以后失效。
secure 默认情况为空,不指定secure选项,即不论是http请求还是https请求均会发送cookie,secure是cookie 的安全标志,是cookie中唯一的一个非键值对的部分,指定后,cookie只有在使用ssl连接时(如HTTPS请求或其他安全协议请求的)才会发送到服务器。
httponly(即http)是用来限制客户端脚本对cookie的访问,将cookie设置成httponly可以减轻xss(跨站脚本攻击)攻击的危害,防止cookie被窃取,用来增强cookie的安全性。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值