一道面试题,请教大家,关于cookie和session
关于cookie和session,它们之间的区别,网上比较多的回答是类似于这样的:
1)cookie保存在客户端,session保存在服务器端,
2)cookie目的可以跟踪会话,也可以保存用户喜好或者保存用户名密码
3)session用来跟踪会话
2)cookie目的可以跟踪会话,也可以保存用户喜好或者保存用户名密码
3)session用来跟踪会话
或者是这样的:
1,session 在服务器端,cookie 在客户端(浏览器)
2,session 默认被存在在服务器的一个文件里(不是内存)
3,session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)
4,session 可以放在 文件、数据库、或内存中都可以。
5,用户验证这种场合一般会用 session
因此,维持一个会话的核心就是客户端的唯一标识,即 session id
意思都差不多,我的问题是:既然session的实现需要借助于cookie,那服务器直接根据cookie来实现会话跟踪,不是能达到一样的效果吗?那么为什么要搞那么复杂,直接用cookie不就行了吗?弄个session还需要借助cookie,不是多此一举吗?
面试被问到cookie和session的区别,我balala一堆类似上面的答案之后,被这样问,直接问傻了,该怎么回答?还请大神赐教啊