cookie和session的简介,两者的区别与联系,通俗易懂篇,客官请留步~@sdfQQ4の

Cookie

意为“甜饼”,是由W3C组织提出,最早由Netscape社区发展的一种机制。目前Cookie已经成为标准,所有的主流浏览器如IE、Netscape、Firefox、Opera等都支持Cookie

Cookie的工作原理

由于HTTP是一种无状态的协议,服务器单从网络连接上无从知道客户身份。怎么办呢?就给客户端们颁发一个通行证吧,每人一个,无论谁访问都必须携带自己通行证。这样服务器就能从通行证上确认客户身份了

实际应用

  • Cookie实际上是一小段的文本信息。客户端请求服务器,如果服务器需要记录该用户状态,就使用response向客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容

Session

是另一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,而Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了

  • 如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了

两者的区别

  1. 数据存放位置不同:
    cookie数据存放在客户的浏览器上,即网页缓存
    session数据放在服务器上,即key-value形式,如redis 和mongoDB
  2. 安全程度不同:
    任何人可分析存放在本地的cookie,进行cookie欺骗,所以不是很安全,出于安全考虑的话选择session
  3. 性能使用程度不同:
    session会在一定时间内保存在服务器上。访问增多时,会比较占用服务器的性能,考虑到减轻服务器性能方面,应当使用cookie【适具体使用场景而定!】
  4. 数据存储大小不同:
    单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie,而session则存储于服务端,浏览器对其没有限制

cookie 和session 的联系:

  1. session是通过cookie来工作的

  2. session和cookie之间是通过$_COOKIE[‘PHPSESSID’]来联系的

  3. 通过$_COOKIE[‘PHPSESSID’]可以知道session的id,从而获取到其他的信息
    在这里插入图片描述

  • 谢谢阅读,感恩有你

猜你喜欢

转载自blog.csdn.net/qing1912/article/details/109433840
今日推荐