1.Session和Cookie的定义
Session:
Session是一种记录客户状态的机制,Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了
Cookie:
Cookie是客户端(一般指浏览器)请求服务器后,服务器发给客户端的一个辨认标识,保存在客户端,当客户端再次向服务器发送请求时,会携带着这个辨认标识,服务器就可以通过这个标识来识别客户端的身份或状态等。
2.区别:
- Cookie数据保存在客户端,Session数据保存在服务器端;
- Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间。
- Cookies不会占服务器资源,是存在客服端内存或者一个Cookie的文本文件中;而Session则会占用服务器资源。所以,尽量不要使用Session,而使用Cookies。但是我们一般认为Cookie是不可靠的,Cookies是保存在本机上的,但是其信息的完全可见性且易于本地编辑性,往往可以引起很多的安全问题Session是可靠地。但是目前很多著名的站点也都用Cookie。
3.联系
- SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。
- Cookies是属于Session对象的一种
4.注意
-
Cookie在添加的时候使用的是response对象,Cookie在获取的时候使用的是requset对象
-
客户端禁用Cookie,Session也会失效
-
一次会话中可以有多个cookie
本文详细介绍了Cookie和Session的定义、工作原理以及它们之间的区别和联系。Cookie数据存储在客户端,Session则保存在服务器端,服务器通过SessionID识别用户。尽管Session相对安全,但会占用服务器资源。Cookie虽然不安全,但不占用服务器资源,适合存储非敏感信息。在使用时,应根据应用场景合理选择Cookie和Session。
275

被折叠的 条评论
为什么被折叠?



