cookie,session的创建过程和使用区别

一:由于http协议是无状态协议,一次请求一次响应,每次交互是独立的。要想对浏览器和服务器交互过程中产生的状态和数据进行管理,有cookie和session两种机制。

1.cookie机制:如果不在浏览器中设置过期时间,cookie被保存在内存中,生命周期随浏览器的关闭而结束,这种cookie简称会话cookie。如果在浏览器中设置了cookie的过期时间,cookie被保存在硬盘中,关闭浏览器后,cookie数据仍然存在,直到过期时间结束才消失。

2.session机制:服务器使用一种类似散列表的结果在存储数据。当服务器收到请求需要创建session对象时,首先会检查客户端请求中是否包含sessionid。如果有sessionid,服务器将根据该id返回对应session对象。如果客户端请求中没有sessionid,服务器会创建新的session对象,并把sessionid在本次响应中返回给客户端。通常使用cookie方式存储sessionid到客户端,在交互中浏览器按照规则将sessionid发送给服务器。

但是浏览器可以禁用cookie,此时可以使用URL重写的方式将sessionid加在URL地址后面发送给服务器。

二:cookie机制和session机制的区别

1.cookie保存在客户端,session保存在服务器端。

2.cookie中保存字符串,session中保存对象。

3.session默认需要借助cookie才能正常工作。如果客户端完全禁止cookie,session方法将失效,必须使用URL重写等方法。

4.cookie方式安全性没有session方式好,容易收到攻击。

5.cookie存储数据大小小于session方式,一般是4K。



你可能感兴趣的:(cookie,session的创建过程和使用区别)