今天去面试面试官问我Cookie和Session有什么区别,之前明明看过这两者的区别,但是面试的时候就是没有回答上来。回到学校后认真看了这两者的区别,才发现之前根本就没有真的掌握,只是了解一些皮毛。下面我就是写写我所了解的Cookie和Session的区别,各位大神别喷。。
Cookie机制:
平时用户在购物网站进行购物的时候,用户A把商品加入购物车,成功购买商品;用户A的商品不能放入用户B的购物车中。这个时候,会话的跟踪技术就显得多么的重要了,而Cookie跟Session可以很好地解决这个问题。
Cookie保存在客户端浏览器中,每次的会话过程,服务器都会产生一个Cookie保存在客户端浏览器中,下次再进行操作的时候,会检查客户端有没有保存Cookie。会话过程依靠的是Http进行传输,而Http是一种无状态协议,即从创建会话开始到会话结束,数据连接也随着结束,想要再次进行数据传输就要再次创建连接。
Cookie的内容为:名字,值,过期时间,域跟过期时间。如果不设置过期时间,Cookie的生命周期为浏览器的会话期间,关闭浏览器窗口,Cookie也随着消失。这种生命周期为浏览器会话期间的Cookie一般不保存在硬盘上而是保存在内存中,当然这样并不规范。如果设置了过期时间,Cookie则会保存在硬盘上,关闭了浏览器再打开的时候仍然有限,直到Cookie到了过期时间,Cookie才会失效。在不同的浏览器中Cookie是不共享的,比如说chrome浏览器跟firefox浏览器,在chrome浏览器中登陆并且登录信息在cookie中,但是在firefox中需要重新登陆。
session机制:
session会服务器端保存客户端状态的机制,使用上比Cookie简单一些,相对应的也增加了服务器的存储压力。
网友评论