COOKIE和Session的原理及异同

Cookie是什么

  Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息,一般情况下,Cookie中的值是以key-value的方式储存的。
  目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除
 
Cookie的常见用途
(1)用Cookie实现自动登录
(2)用Cookie实现页间传值
(3)用Cookie保存客户个性化信息
(4)用Cookie实现网站浏览人数管理
(5)在电子商务站点中实现购物车等功能
 
Session是什么
Session(会话):在指定的时间段中来自同一客户端的一系列HTTP请求
 
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的作用
  使用Session对象可以存储特定用户会话所需的信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。
  从网站的角度看,每一个新的请求都是单独存在的。当服务器完成用户的请求后,服务器将不能再继续保持与该用户浏览器的连接。当用户在Web站点的多个页面间切换时,根本无法知道用户的相关信息,因此,Session的使用是很有必要的。

 
 
Cookie和Session 的异同
 相同点:功能相似,都可以存储或跟踪用户信息,在整个站点所有页面都可以访问。
不同点:(1)建立方式不同,Session是在每次访问网页时自动建立,Cookie需要通过代码建立。
    (2)储存位置不同,Session储存在服务器端,Cookie储存在客户端。
    (3)安全性不同,服务器会为每个用户建立一个Session,客户间不可见;Cookie储存在客户端,可以被其他程序访问。
posted @ 2019-04-18 18:39  Joker_zou  阅读(542)  评论(0编辑  收藏  举报