联系:
HTTP是一种无状态的协议,无法识别到底是谁发送的,需要开发者自己解决。而session和cookie就是为了解决这个问题而提出来的两个机制。 session的实现方式和cookie有着一定的关系,建立一个连接就生成一个session id,于是会把session id存储在cookie中,每次访问的时候将session id带过去访问就可以了。
区别:
1.cookie存储在客户端,而session存储在服务器端,因此session会消耗服务器资源
2.cookie安全性低,session安全性较高。
3.cookie只能存储String类型的对象,而session能够存储任意的java对象。
4.session没有路径限制,同一用户在访问一个网站期间,所有的session在任何一个地方都可以访问到。而cookie是有路径限制的,如果cookie中设置了路径参数,那么同一网站中不同路径下的cookie互相访问时是会有问题的,但是子目录的可以访问到所有父级目录的。
应用场景:
1.在登录中记住账号密码
2.购物车。不同用户进入看到的商品不一样