COOKIE与SESSION的区别

Web基础——COOKIE与SESSION的区别

一、COOKIE:
1)、COOKIE是什么?
cookie可以理解是服务器暂存在客户端的文本信息(.txt文件)。

2)、COOKIE从哪来?
cookie从服务端来,它是由服务端生成的。
客户端可以清除cookie。

3)、COOKIE往哪去?
A、cookie的归宿是客户端,由服务端生成后,发送给客户端;
B、它是存放在客户端的硬盘上的。
在这里插入图片描述
PS:客户端与服务器通信时,服务器首次返回给客户端的set-cookie是包含在响应header中的;同时,客户端向服务器发送请求时,cookie也是包含在请求header里的。
4)、COOKIE干什么用的?
cookie其实可以看成是http协议的一个扩展,因为http协议是无状态的协议,服务器无法识别客户端,cookie可以帮助服务器辨别客户端,以便它们之间更好地通信。
通俗地讲,cookie就类似一个通行证,每次客户端向服务器发送请求时,带上这个通行证,服务器就能通过这个同行证,准确地确认客户。

二、session:
1)、session是什么?
如果把cookie比作是服务器发给客户端的通行证,那么,可以把Session理解为程序在服务器上建立的一份客户档案,记录的是客户的状态等信息。

2)、session从哪来?
A、session是服务端为客户端开辟的,它是服务器端程序运行的过程中创建的,不同语言实现的应用程序有不同创建Session的方法。
B、生成session的同时,也会生成唯一的sessionID与之对应,类似于键值对的形式{sessionID:session}。

3)、session往哪里去?
A、session是存放在服务端的,是服务端开辟的空间存储的,是存在内存中的;
B、当会话关闭时,session会被清除;
C、session的默认失效时间是20分钟,服务器会把长时间没有活动的session从服务器内存中清除。
4)、session有什么用?
还是因为http是无状态的协议,session也是为了保持客户端与服务器更好的连接状态,更好地通信。
通信过程,大致可以理解为:
A、客户端—>服务端:客户端给服务端发送请求,服务端创建session,同时生成sessionID;
B、服务端—>客户端:服务端给客户端发送响应,并告诉客户端对应的sessionID;
C、客户端---->服务端,两者之间发请求,通信时,请求头里就可以带上sessionID,服务端就能更好地识别客户端。

三、总结COOKIE与SESSION的区别:
1)、cookie存储在客户端,SESSION存储在服务器;
2)、cookie机制保持连接,通信时压力在客户端;SESSION机制保持连接,通信时压力在服务器;
3)、SESSION机制更安全,因为cookie存放在客户端,容易被窃取。但是session机制依赖于sessionID,而sessionID保存在cookie中,一旦客户端禁用了cookie,session也将失效;
4)、cookie是以文本的形式存储在客户端,存储量有限(<=4KB);
session可以无限量地往里面添加内容。
5)、Cookie支持跨域名访问,Session不支持跨域名访问;
6)、Cookie可以设置为长期有效,而Session会随会话窗口关闭而失效。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值