关于cookie、session、sessionStorage、localStorage各自的特点和使用方法

因为HTTP协议是一种无状态协议,每一次HTTP请求都是独立的,不受它之前和之后的请求的影响,所以比如登录信息,这次请求带着登录的信息,下次请求不知道有没有登录,无法追踪上次的请求,所以如果没有别的手段只能每次传很多参数。

cookie和session,可以与服务器交互通信的。

Cookie:

cookie保存在浏览器端,单个数据大小不超过4KB,是服务器发送到客户端的特殊信息,保存成字符串类型以文本的方式保存在客户端,会随着每次HTTP请求头request header发送到服务器端。如果不在浏览器中设置过期时间,cookie被保存在内存中,浏览器关闭就会删除这些cookie信息;如果设置了过期时间,cookie被保存在硬盘中,直到过期时间才会删除这些信息。

cookie应用场景:记录是否登录,上次登录时间,浏览的页面,浏览次数等

cookie的缺点:

1)存储空间很小,只有4kb,存储数量限制,一般一个站点只能有20个cookie

2)用户可以操作(禁用或者修改删除)cookie,使功能受限

3)安全性较低

4)每次访问都要传送cookie给服务器,浪费带宽,如果保存过多数据影响性能。

获取cookie:

var cookieData = document.cookie; 
// cookie是每个cookie键值对通过一个分号+空格的形式串联起来的,例:key1=value1; key2=value2; key3=value3; 

设置/修改cookie:

cookie选项包括:

expires(http/1.0协议中的过期时间,GMT格式)、

max-age(http/1.1协议中的单位是秒的时间段,失效时间是创建时间 + max-age)、

domain(域名)、path(路径)、

secure(当请求是HTTPS或者其他安全协议时,包含 secure 选项的 cookie才能被发送至服务器,安全协议时才能在客户端设置secure参数)、

HttpOnly(在客户端是不能通过js代码去访问一个httpOnly类型的cookie的,也不能设置httpOnly参数,这种类型的cookie只能通过服务端来设置)

// 设置cookie以及过期时间
var exp = new Date();
exp.setDate(exp.getDate() 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值