Session与Cookie的定义和区别

seeion的存储方式:

{"seeionkey":'123'}

是以键值对,也就是字典dict 的方式存储的

http的请求是无状态请求,也就是多次请求之间是不关联的,服务器只需要返回每一次的请求即可;

但有时,多次交互时,需要产生关联,比如历史浏览,登录状态、记住用户等;

所以对应的就是有状态的请求:

这时就需要用到cookie

浏览器本身是具备cookie的,自带的

 

cookie是浏览器的本地存储机制,存储在浏览器,和服务器没关系,存储账户密码等任何键值对,但是是存储在单个域名下,每个域名之间不能相互访问;

用户在使用浏览器请求时,就会把cookie里的值带过去,这些值也是服务器返回给浏览器的

而session时服务器根据单个用户的用户名和密码生成的一串加密id,存储在服务器端的,用户在首次登录时,服务器会把session发送给用户浏览器,并被浏览器存储在本地cookie中;在做下一次请求时,用户浏览器会通过cookie把sessionid带回给服务器,服务器会通过对session判断这个用户及用户的数据,

以上即可完成自动登录

简单说:

两个都可以用来存私密的东西,同样也都有有效期的说法,区别在于session是放在服务器上的,过期与否取决于服务期的设定,cookie是存在客户端的,过期与否可以在cookie生成的时候设置进去。

(1)cookie数据存放在客户的浏览器上,session数据放在服务器上
(2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session
(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE
(4)单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K。
(5)所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值