Session 与 Cookie 的区别
1、Session的基本概念与工作原理
(1) Session的基本概念:Session是指终端用户与交互系统进行通信的时间间隔,通常指从注册进入系统到注销退出系统所经过的时间。即Session实际上是一个特定的时间概念。
(2) Session工作原理:当启动一个Session会话时,会生成一个随机且唯一的session_id,也就是Session的文件名。当关闭页面时,此id会失效。
2、Session的主要作用或功能
Session的功能:由于网页(HTTP协议)是一种无状态的连接程序,因此无法得知用户的浏览状态。通过Session则可以记录用户的有关信息(例如:用户的登录信息,用户浏览记录等),以供用户再次以此身份对Web服务器提交要求时做确认。
3、Cookie的基本概念与主要功能
(1) Cookie的基本概念:Cookie是一种在客户浏览器端存储数据并以此来跟踪和识别用户的机制。即Cookie是Web服务器暂时存储在用户硬盘上的一个文本文件,并随后被Web浏览器读取。当用户再次访问该Web网站时,网站通过读取Cookie文件记录这位访客的特定信息(如上次访问的位置、花费的时间、用户名和密码等),从而迅速作出响应。
(2) Cookie的功能:Web服务器可以通过Cookie包含的信息来筛选或维护一些信息,以判断在HTTP传输中的状态。通常用户以下3个方面: a. 记录访客的某些信息。例如:利用Cookie记录用户访问网页的次数、曾经输入过的信息、用户名和密码。 b. 在页面之间传递变量。由于浏览器并不会保留当前页面上的任何变量信息,如果用户声明一个变量id=2,要把这边变量传递到另一个页面,可以把变量id以Cookie形式保存下来,然后在下一页通过读取该Cookie来获取该变量的值。 c. 将所查看的Internet网页存储在Cookie临时文件夹中,可以提高以后浏览的速度。
(3) Cookie的注意事项:一般不要用Cookie保存数据集或其他大量数据。并非所有浏览器都支持Cookie,并且数据信息是以明文文本的形式保存在客户端计算机中,因此最好不要保存敏感的、未加密的数据,否则会影响网路的安全性。
4、Session 与 Cookie 的相同点与区别
(1) 两者的相同点:保存用户访问Web服务器的相关信息及变量。
(2) 两者的区别: a. 信息保存的位置不同:Session的信息保存在服务器上,并通过一个Session_id来传递客户端的信息,服务器接收到Session_id后,根据这个Session_id来提供相关的Session信息资源;Cookie是将所有的信息以文本文件的形式保存在客户端,并由浏览器进行管理和维护。
b. 安全性:Session信息保存在服务器,远程用户无法修改Session文件的内容,而Cookie信息保存在客户端,因此Session要比Cookie安全得多。