博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
内置对象Cookie和Session有何不同【常见面试题】
阅读量:4931 次
发布时间:2019-06-11

本文共 1114 字,大约阅读时间需要 3 分钟。

我们在面试的时候,时常会被问到Cookie和Session的区别,对于初学者来说,有时候会混淆这两个内置对象。下面就我自己的理解,对这2个内置对象进行剖析。

1、Session对象存在Web服务器端,Cookie对象存在用户的客户端(主要是Web浏览器,比如你的搜狗浏览器,谷歌浏览器等)

     用户客户端无法拿到Session的值,但Cookie就不一样,Cookie是以一种文本的形式存储在浏览器中的,通过浏览器的一些Web调试工具,我们可以轻易的看到Cookie中的值。下面我们就通过谷歌浏览器的自带调试工具来查看下百度首页打开的时候会有哪些Cookie信息。

    首先谷歌浏览器打开百度首页,然后按下你电脑的F12键即可调出调试界面。如下图,切换到Appliation页签界面,可以看到左下侧有个Cookie菜单,点击后,右侧出现的即为当前页面的所含有的Cookie信息。在列表中可以看到Cookie的键名、Cookie值以及过期时间等。

2、数据安全性:Session存储的数据比较安全,Cookie因为存储在用户浏览器本地,无法保证安全性。

    因此一些机密的数据一定不能使用Cookie进行存储,比如用户的密码、身份证号等关键信息一定不可存放在Cookie,容易被他人窃取。

3、Cookie的存储时间可以比Session长很多,当然这个也看开发人员怎么设定,Cookie存储在客户浏览器端可以设置1天、2天或者更长的有效期。但Session一般在客户最后一次链接访问后2小时内即会失效,再次访问就需要重新建立Session链接,这也是为何你登录一些网站后,长时间不操作,再次操作要求你重新登录的原因。

 

4、Cookie还有下面这个特点,一个浏览器下同一个域名只能保存一份Cookie键值对。

    具体举栗子:比如某个管理系统的网站在登陆成功后,会将用户名写入到浏览器Cookie中。如果张三打开了浏览器登陆这个管理系统,那么写入的Cookie值就是Cookie["name"]="张三"。张三登陆成功后,又新打开了个页签,登陆了李四的账号,那这时候在切回张三的页面,刷新网页,你看到的Cookie值将会是李四,同时页面显示的内容也是李四的内容。后者覆盖了前者。

  针对上述这个问题,有些浏览器可以通过打开子窗口方式解决了(重新双击浏览器图标打开新的浏览器窗口),注意是非打开子页签。
  最后,附上我的ASP.NET学习群,欢迎各位同行入群指导交流。技术群:【ASP.NET技术社区】872894940

更多文章可以关注博主个人站点:

 

 

转载于:https://www.cnblogs.com/xu-yi/p/10023929.html

你可能感兴趣的文章
java中的Volatile关键字
查看>>
前端自定义图标
查看>>
实验二
查看>>
独立开发一个云(PaaS)的核心要素, Go, Go, Go!!!
查看>>
网站文章如何能自动判定是抄袭?一种算法和实践架构剖析
查看>>
【OpenCV学习】滚动条
查看>>
ofo用科技引领行业进入4.0时代 用户粘性连续8个月远甩摩拜
查看>>
兰州青年志愿者“中西合璧”玩快闪 温暖旅客回家路
查看>>
计划10年建10万廉价屋 新西兰政府:比想象中难
查看>>
甘肃发首版《3D打印职业教育教材》:校企合作育专才
查看>>
为找好心人抚养孩子 浙江一离婚父亲将幼童丢弃公园
查看>>
晚婚晚育 近20年巴西35岁以上孕妇增加65%
查看>>
读书:为了那个美妙的咔哒声
查看>>
jsp改造之sitemesh注意事项
查看>>
iOS 9.0之后NSString encode方法替换
查看>>
ASMFD (ASM Filter Driver) Support on OS Platforms (Certification Matrix). (文档 ID 2034681.1)
查看>>
CRM Transaction处理中的权限控制
查看>>
[转]linux创建链接文件的两种方法
查看>>
python ipaddress模块使用
查看>>
文件权限
查看>>