这个问题都快被大家说臭了,只是最近有人问到感觉自己答的不好。这里只是简单写了应对面试时出现此种情况的回答,没有长篇大论。
首先,谈到二者就必须谈一下HTTP协议,这是一个无序的数据传输规范,这个协议里面有一个缓存机制,该缓存机制的目的就是当客户发送请求时可以减少发送请求的步骤和响应,提高客户体验。
而这种缓存机制的体现就是客户端的Cookie和服务器端的Session。
Cookie:
cookie的生成是由http协议来实现的,在http协议的响应头添加一个特殊的指示,指示浏览器生成cookie。js,vs等客户端脚本也可以生成。
cookie的主要内容包括名字,时效,值,路径和作用域,cookie可以存储在硬盘里,也可以存储在内存中。
Session:
session被创建时首先找是否已经创建了sessionId相同的session,找到了就直接返回值,找不到就建个新的session.
session不会因为浏览器关掉而关闭,除非程序通知服务器关闭session,或者session到了提前设置好的失效时间。