Cookie和Session区别

Cookie和Session:

首先HTTP是一种无状态的协议,为了分辨是谁发起的连接请求,就需要我们去解决这类问题。

Session和Cookie就是解决HTTP无状态问题的两个机制。

Cookie

cookie是访问某个网站以后在本地存储的一些网站相关的信息,下次再访问时就减少访问步骤,cookie是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器,是一种在客户端保持状态的方案。

Cookie主要内容:名字,值,过期时间,路径和域等;

Session是存在服务器的一种用来存放用户数据的类HashTable结构。

当客户端发出请求到服务端有需要建一个session时,服务器会将请求的结果和sessionId一起返回给客户端,而这个sessionid可以保存在cookie中,以后每次发送一个请求,都会将sessionid一起发送到服务器,如果cookie被客户端禁止,这个sessionid可以通过URL重写将sessionid传递给服务器;当然也可以是服务器自动修改提交的表单,添加一个隐藏字段,以便将sessionid传递到服务器。

区别:

1.cookie数据存在客户端,session数据存放在服务器端;

2.cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗;

3.session会在一定时间内保存在服务器上,当访问增多时,会比较占用服务器的性能;

4.单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点最多保存20个cookie;

原文地址:https://www.cnblogs.com/xiaoweigangwan/p/7852345.html