cookie 和 session 详细阐述 ( cookie 和 session 的区别
????? 1、session保存在服务器,客户端不知道其中的信息;cookie保存在客户端,服务器能够知道其中的信息。
2、session中保存的是对象,cookie中保存的是字符串。
3、session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的。
4、session默认需要借助cookie才能正常工作。如果客户端完全禁止cookie,session,这种方法将失效。
但是如果服务器端启用了url编码,也就是用
URLEncoder.encode("index.jsp?id=3","UTF-8");
把所有的url编码了,则会在url后面出现如下类似的东西
index.jsp:jsessionid=fdsaffjdlksfd124324lkdjsf?id=3
服务器通过这个进行session的判断
5 session在用户会话结束后就会关闭了,但cookie因为保存在客户端,可以长期保存
6 COOKIE:是服务端向客户端写入的小的片段信息。cookie信息保存在服务器缓存区,不会在客户端显现。当你第一次登陆一个网站,服务器向你的机器写得片段信息。你可以在Internet选项中找到存放cookie的文件夹。如果不删除,cookie就一直在这个文件夹中。
?
?
?
两者均用于保存用户私有信息
session
存储于服务器端,可被服务器端脚本修改。数据不在网络上传递。
cookie
存储于客户端,可被客户端脚本修改。数据将在网络上传递。
--------------------------------------------
session会给服务器带来开销。
cookie不会给服务器增加过多的开销。
php5中将会对两者进行加密传输,所以在网络上传递将会比现在安全多了。
--------------------------------------------
二者都是保存数据的机制,其他的变量都会因页面的更换而丢失,所以更换页面时保持上页的一些数据成为了一种需要.
既然HTTP协议中没有考虑保存数据,那就只好另想方案了,经过思考,保存数据出现两种方案,一种是把数据保存在客户端,那就是Cookie,一种是把数据保存在服务器端,那就是Session.目的都是保持数据,但各有优缺点...
喜欢哪种,随你喽!!
?
?
<input type="hidden" name="jsessionid" value="ByOK3vjFD75aPnrF7C2HmdnV6QZcEbzWoWiBYEnLerjQ99zWpBng!-145788764">cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
?? 考虑到安全应当使用session
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
?? 考虑到减轻服务器性能方面,应当使用COOKIE
4、单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。
5、所以个人建议:
?? 将登陆信息等重要信息存放为SESSION
?? 其他信息如果需要保留,可以放在COOKIE中
施杨出品!!!
作者:施杨(施杨's Think out)
出处:http://shiyangxt.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
?