COOKIE:
HTTP协议是无状态的,所以服务器无法确认用户和用户状态,那么就有了COOKIE,COOKIE就是一个文本信息,不用的域会产生不同的COOKIE,COOKIE可以持久化,就是持久cookie,可以在前端html中js代码写入设置cookie过期时间,这时候服务器会把cookie存在硬盘上。因为每次请求都会判断COOLKIE和COOKIE状态所以,关闭客户端浏览器,再打开服务器判断COOKIE没有过期,就可以继续访问
SESSION
SEESION是另外一种保存客户状态的机制,它把客户状态存储在服务端。每次客户端访问都会带着一个SESSION_ID,如果没有就会新建一个唯一的SESSION_ID返回给客户端,它会存在COOKIE中下次请求会带在head里面,从而服务端可以判断是哪个客户。
COOKIE和SESSION的区别
从上面的介绍中我们可以得知一些信息
1、COOKIE存在客户端,SESSION存在服务器端
2、因为COOKIE存在客户端所以它不是那么的安全。SESSION是更好的选择
3、如果访问量大那么,存放过多的SESSION可定会印象服务器性能,那么需要则情选择存在服务器的内容,可以把用户名和密码存放在服务器端,其它的存在客户端即可
4、COOKIE最大存放4k内容,每一个客户端浏览器大多允许产生20个cookie
面试
COOKIE禁用SESSION还能用么?
回答:不能了,因为SEESION_ID是附载COOKIE中的。
那么怎么才能继续使用SESSION
回答:可以,可以通过URL传输。POST可以放在隐藏字段中