浏览器端的cookie和服务器端的session的区别

浏览器端的cookie和服务器端的session的区别

一、cookie

1.什么是cookie?
cookie是浏览器的储存空间,某些浏览器的服务器用来识别用户的身份,也被成为浏览器缓存。

2. cookie的特点是什么?
cookie的特点种类比较繁多,这里只记录下几个最常用的特点:
1.cookie的存储大小为4k;
2.cookie中的数据会在请求中携带,携带的数据在请求头中;
3.同一个浏览器的多个页面可以共享cookie的数据;
4.不同浏览器的cookie数据不能共享;
5.cookie默认过期时间为会话级别,一旦关闭浏览器就会被注销,cookie的过期时间可以设置;
6.服务器端不能直接操作cookie,服务器获取的cookie的数据是请求头中的数据,设置的是响应头,通知浏览器去如何设置cookie。
3.cookie的三种操作方式是什么?
1.通过原生JS操作cookie(了解即可,实际操作用的不多)

  • 设置cookie值 document.cookie = " name = XiaoMing"
  • 获取cookie值 document.cookie(返回的所有cookie值以字符串的方式返回)

2.通过jQuery.cookie操作cookie

  • 设置 $.cookie( key,value )
  • 获取 $.cookie( key )
  • 删除 $.removeCookie( key )
  • 设置过期时间 $.cookie( key,value,{expires:过期天数} )

3.通过PHP操作相应头间接操作cookie

  • 设置 setcookie( key,value )
  • 设置过期时间 setcookie( key,value,time() + 7 * 24 *3600 )
  • 删除(删除过期时间为过去时间) setcookie( key,value,time() - 1 )
  • 获取 通过超全局变量$_COOKIE

二、session

1.什么是sessio?
session可以先简单理解为服务器的储存空间。
2.session的基本特征有哪些?

  • 通过 $_SESSION获取session
  • $_SESSION是一个关联数组
  • 使用之前必选先session_start()

3.session的工作原理是什么?

  • 该用户是第一次访问(该用户cookie中没有sessionId), 生成sessionid
  • 根据 sessionid 创建 session 文件, 我们可以在 session 空间存储用户数据
  • 自动设置响应头, 将 sessionid 传递给浏览器端
  • 浏览器端接收到响应, 解析响应头, 将 sessionid 设置到 cookie 中去
  • 第二次访问, cookie 中的数据会在请求时携带, 所以请求携带了 sessionId
  • 服务器端就可以根据 sessionid 找到对应的 session 文件, 读取用户数据

4.操作方式

  • 获取 $_SESSION
  • 设置 $_SESSION[‘name’]=‘LiMing’
  • 删除 unset( $_SESSION[‘name’] )
  • 清空所有 $_SESSION = []
  • 销毁 session 文件session_destroy()
  • 获取 sessionid session_id()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值