#对Cookie和Session认识
作为一个软件工程大一的新生,对软件工程导论学习了解之后,对Cookie和Session有了初步了解。 首先我们来谈下Cookie和Session的联系与区别,我将用表格形式呈递:
Cookie | Session |
---|
保存在客户端(浏览器) | 保存在服务器端的一个文件里(不是内存) |
安全性低,他人可以分析储存本地的cookie进行诈骗 | 安全性高,他人无法通过分析保存在服务器的session进行诈骗 |
保存的是对象 | 保存的是字符串 |
性能高,单个cookie保存在服务器上不能超过4k,许多服务器都设置一个站点,最多保存20个Cookie | 性能低,Session会在一定的时间内保存在服务器上,访问增多时,服务器压力增加 |
其他信息可以保存放在Cookie里面 | 登录的个人重要信息保存在Session中 |
然后我们分别说明Cookie和Session是如何实现的。
先从Cookie开始,Cookie分为会话Cookie和持久Cookie,同样以表格形式呈递:
会话Cookie | 持久Cookie |
---|
如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。这种生命期为浏览会话期的cookie被称为会话cookie。会话cookie一般不保存在硬盘上而是保存在内存里。 | 如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些cookie依然有效直到超过设定的过期时间。 |
存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。对于保存在内存的cookie,不同的浏览器有不同的处理方式。
那么cookie是如何实现自动登录的呢?
当用户在某个网站注册后,就会收到一个惟一用户ID的cookie。客户后来重新连接时,这个用户ID会自动返回,服务器对它进行检查,确定它是否为注册用户且选择了自动登录,从而使用户无需给出明确的用户名和密码,就可以访问服务器上的资源。
作为浏览器运营商要怎样根据用户的爱好定制站点呢?
网站可以使用cookie记录用户的意愿。对于简单的设置,网站可以直接将页面的设置存储在cookie中完成定制。然而对于更复杂的定制,网站只需仅将一个惟一的标识符发送给用户,由服务器端的数据库存储每个标识符对应的页面设置.
Cookie的作用:
Cookie的根本作用就是在客户端存储用户访问网站的一些信息。典型的应用有:
1、记住密码,下次自动登录。
2、购物车功能。
3、记录用户浏览数据,进行商品(广告)推荐。
Cookie的发送:
1.创建Cookie对象
2.设置最大时效
3.将Cookie放入到HTTP响应报头
我了解的Cookie大概就这么多,接下来我们谈下session。
Session代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的。Session是一种服务器端的机制,Session 对象用来存储特定用户会话所需的信息。
Session由服务端生成,保存在服务器的内存、缓存、硬盘或数据库中。
session的机制:session机制是一种服务器端的机制,服务器使用一种类似于散列表的结构(也可能就是使用散列表)来保存信息。
session是基于cookie技术的,没有cookie,就没有session。
session是将session的ID储存在cookie中,并且session的数据保存在服务器。每次向网站请求时,只需要发送session的ID,通过session的ID将服务器端保存的用户数据调出来。
session的作用:
Session的根本作用就是在服务端存储用户和服务器会话的一些信息。典型的应用有:
1、判断用户是否登录。
2、购物车功能。
结语
读完这里,读者应该对Cookie和Session有大概的理解,由于笔者的文笔和水平有限,文中也有不妥的地方。若有错误尽可能指出。这是笔者的第一篇博客,让我们一同进步。