http协议中cookie和session的区别

Cookie和Session的区别

Cookie 在客户端(浏览器、易伪造、不安全),Session 在服务器端(会消耗服务器资源)。
 Cookie 只能保存ASCII字符串,如果是Unicode字符或者二进制数据需要先进行编码。Cookie中也不能直接存取Java对象。 Session能够存取很多类型的数据,包括String、Integer、List、Map等,Session中也可以保存JJava对象。

Cookie定义

   Cookie是服务器在客户端机器上存储的小段文本并随每一个请求发送至同一服务器。
   Cookies保存在客户端,主要内容包括:名字,值,过期时间,路径等等

会话cookie和持久cookie的区别

  会话cookie:不设置过期时间,只要关闭浏览器窗口cookie就消失了。会话cookie不保存在硬盘上,保存在内存里。
  持久cookie:设置过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。存储在硬盘上的cookie可以在不同的浏览器进程间共享。而对于保存在内存的cookie,不同的浏览器有不同的处理方式。

利用持久Cookie自动登录:当用户在某个网站注册后,就会收到一个惟一用户ID的cookie。客户后来重新连接时,这个用户ID会自动返回,服务器对它进行检查,确定它是否为注册用户且选择了自动登录,从而使用户无需给出明确的用户名和密码,就可以访问服务器上的资源。

Session定义

      Session是在服务器端保存用户数据。
浏览器第一次发送请求时,服务器自动生成了Session ID来唯一标识这个并将其通过响应发送到浏览器。浏览器第二次发送请求会将前一次服务器响应中的Session ID放在请求中一并发送到服务器上,服务器从请求中提取出Session ID,并和保存的所有Session ID进行对比,找到这个用户的信息。一般这个Session ID会有个时间限制,默认30分钟超时后毁掉这次Session ID

Session和Cookie有一定关系,Session id存在Cookie中,每次访问的时候将Session id传到服务器进行对比。

赞(0) 打赏
特别声明:除特殊标注,本站文章均为原创,遵循CC BY-NC 3.0,转载请注明出处。三伏磨 » http协议中cookie和session的区别

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏