首先要区分它们,咱们要先明白它们各自的定义是什么。浏览器
Cookie是在Http协议下,服务器或脚本能够维护客户工做站上消息的一种方式。Cookie是由Web服务器保存在用户浏览器(客户端)上的小文本文件,它能够包含有关用户的消息。不管什么时候用户连接到服务器,Web站点均可以访问Cookie消息。服务器
在同一个页面中设置Cookie,其实是按从后往前的顺序进行的。若是要先删除有关Cookie,在写入有关Cookie,就必须先写写入语句,在写删除语句,不然会出现错误。
网站
Cookie是面向路径的。缺省路径属性时,Web服务器就会知道传递当前路径给浏览器,指定路径强制服务器使用设置的路径。在一个目录页里设置的Cookie在另外一个目录的页面里是看不到的。url
Cookie必须在HTML文件的内容输出以前设置;不一样的浏览器对Cookie的处理不一致;客户端用户若是设置禁止Cookie,则Cookie不能创建。而且在客户端一个浏览器能促进的Cookie数量最多为300个。并且每一个不超过4KB,每一个Web站点能设置的Cookie总数不能错过20个spa
Session是一种保存上下文信息的机制,它是针对每个用户的,Session的内容在服务器端,经过SessionId来区分不一样的客户,Session是以Cookie或url重写为基础的,默认用Cookie来实现。对象
当一个Session第一次被启用时,一个惟一的标识被存储于本地的Cookie中。字符串
1.Session保存在服务器,浏览器(客户端)不知道其中的消息;Cookie保存在浏览器(客户端),服务端能够知道其中的消息。全部在打开另外一个浏览器后,Cookie的值就不一样了,而Session保存的对象,只要不关闭服务器,仍是同样的。io
2.Session保存的是对象,Cookie保存的是字符串基础
3.Session不能区分路径,同一个用户在访问一个网站期间,全部的Session在任何一个地方均可以访问到,而Cookie若是设置了路径参数,那么同一个网站中不一样的路径下的Cookie相互之间是访问不到的。服务器端
4.Session是须要借助Cookie才能正常工做的,全部说Session是基于Cookie的基础上实现的,若是浏览器(客户端)彻底禁止Cookie,那么Session也会失效。