浅谈cookie与session

当我在百度敲入cookie的时候,它给我的第一反映是:“存储在用户本地上的数据”。这基本给cookie定了型,也就是说它是存在我们本地机器上的。或许这是它与session最大的一个区别之一。cookie可以使用也可以禁用,就如同我们在一个网页中是否开启了flash功能一样。
cookie就是服务器暂时存放在我们本机电脑的资料,(.txt)。是为了让服务器更好的来辨认你的计算机。并且在你浏览网站的时候它会有一些记录存储下来,所以说它是带有记忆功能的。
有没有一种现象,你多次访问的网站,点击过的超链接,下次再访问的时候它就变了色。
这就是cookie把对应的记录记了下来存的本地的磁盘中去。
Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。   Cookie在生成时就会被指定一个Expire值,这就是Cookie的生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生存周期设置为“0”或负值,这样在关闭页面时,就马上清除Cookie,不会记录用户信息,更加安全。
cookie是个不安全的东西,因为它可以存储ID和password等重要信息,一旦别人攻破了相当于你的隐私也就爆露无疑了。
例:在jsp中创建cookie

String cookiename="visitTimes";  
Cookie cookie=new Cookie(cookiename,"1");   
cookie.setMaxAge(10*60);//设置cookie存活期   
response.addCookie(cookie);//将cookie写入客户端   
在jsp中处理cookie数据的常用方法:   
getDomain();返回cookie的域名.   
getMaxAge();返回cookie的存活时间

getName();返回cookie的名字   
getPath();返回cookie适用的路径   
getSecure();
如果浏览器通过安全协议发送Cookie将返回true值,如果浏览器使用标准协议刚返回false值 getValue();返回cookie的值   
getVersion();返回cookie所遵从的协议版本
setComment(String purpose);设置cookie的注释   
setPath(String url);设置Cookie的适用路径   
setSecure(Boolean flag);设置浏览器是否仅仅使用安全协议来发送cookie,例如使用Https或ssl   
setValue(String newvalue);cookie创建后设置一个新的值   
setVersion(int v);设置cookie所遵从的协议版本.



______________________________________________________________________________
session:意为“会话”
session的工作原理:  
(1)当一个session第一次被启用时,一个唯一的标识被存储于本地的cookie中。   
(2)首先使用session_start()函数,PHP从session仓库中加载已经存储的session变量。  (3)当执行PHP脚本时,通过使用session_register()函数注册session变量。   
(4)当PHP脚本执行结束时,未被销毁的session变量会被自动保存在本地一定路径下的session库中,这个路径可以通过php.ini文件中的session.save_path指定,下次浏览网页时可以加载使用。
session决大多数的概念与时间有关,tomcat中为30分钟。
使用它可以用来传值,多个jsp操纵一个javabean,那么这个javabean就成了全局变量池。



cookie和sessi
on最大区别在于cookie是
存储在客户机上的而session是存储在服务器上的。

猜你喜欢

转载自zb0116.iteye.com/blog/1574575
今日推荐