|  在技术加营销的道路上越走越远
温馨提示
我是弹窗内容
当前位置:首页 > PHP经验积累 > 从八个方面简述一下Session和Cookie的区别?
从八个方面简述一下Session和Cookie的区别?

从八个方面简述一下Session和Cookie的区别?

日期:2021-08-18 浏览量:213 原创作者:湖八爷
在web开发中,客户端和服务端交互用的最多的就是Cookie和Session,很多时候同一个功能点既可以用Cookie解决也可以用Session解决,那你了解二者有什么区别吗?


一,数据存放位置方面的区别。

Cookie数据存放在客户的浏览器上。

Session数据存放在服务器上。



二,数据存储大小方面的区别

单个Cookie保存的数据不能超过4KB的容量,而且很多浏览器都限制一个站点最多保存20个cookie。

Session理论上是没有存储限制的,但是出于对服务器性能的考虑,不要在Session中存放太多的数据。



三,数据存储有效期方面的区别。

Cookie可以通过设置有效期,达到长期有效的效果。

Session在用户关闭浏览器时就会失效。



四,数据存储方式方面的区别。

Cookie中只能保管ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据。

Session中能够存储任何类型的数据,包括且不限于string,integer,list,map等。



五,安全方面的区别。

Cookie对客户端是可见的,别人可以分析存放在本地的cookie并进行cookie欺骗。

Session是存储在服务器上,对客户端是透明对,不存在敏感信息泄漏的风险。



六,对服务器性能影响方面的区别。

Cookie因为存储在客户端,不占用服务器资源,所以对服务器性能影响上比较小。

Session因为是存储在服务器端的,每个用户都会产生至少一个session。假如并发访问的用户十分多,会产生十分多的session,耗费大量的内存。



七,会话机制的区别。

Session会话机制:session会话机制是一种服务器端机制,它使用类似于哈希表(可能还有哈希表)的结构来保存信息。

Cookies会话机制:cookie是服务器存储在本地计算机上的小块文本,并随每个请求发送到同一服务器。 Web服务器使用HTTP标头将cookie发送到客户端。在客户端终端,浏览器解析cookie并将其保存为本地文件,该文件自动将来自同一服务器的任何请求绑定到这些cookie。



八,跨域访问上的区别。

cookie支持跨域名访问。

session不支持跨域名访问。



总而言之,Cookie就是cookie,Session就是session,他们本来就是两个不同的对象,放在一起对比一下各方面的不同,目的是为了加深我们对Cookie和Session的认识。