近期看着某些小朋友那琢急的学习心态,瞬间发文一篇,谨此以助小朋友早日有成!

闲话不扯远,实话见真言,晃悠许久觉得开头还是谈谈Cookie这只菜篮,而且是一只私家菜篮,为啥说它是一只菜篮呢,各位看官必定见过菜篮,不过如果是高富帅,或是白富美,那就还得劳驾您去百度图库搜张图喵上一眼。在菜市场一眼望去,除了大妈的吆喝声,那最显眼的就是大妈手中的菜蓝,菜蓝里五花八门什么都有。

言归正转,cookie 在asp.net这个菜市场里,充其量也就是一只菜蓝,现在各位看观也就是拎菜蓝的大妈,真没说各位看观都是大妈,只是形容,纯属比喻。我们浏览的打开的很多网站都会把一些基本信息放在我们的浏览器的Cookie当中也就是我刚说的菜蓝。

客位客观可能也会问,是怎样生成的?到底cookie在哪里呀?cookie 在.net 下可以在客户端用JS创建,也可以在页面下用.net 创建,用respone输送到前台。大家可以查看一下浏览中的存的Cookie (怎么查,本文不述,看观自问度娘),咋一看网站存这些乱七八糟的是什么玩意呀,堪比火星文(别紧张一般是加密的),回到大妈来,大妈去菜市场买菜肯定都是一些重要的食材,用来做美味的,那我们ASP.NET 中菜蓝(cookie)也不可能一直是装素的吧。cookie里装的也有鸡肋的,比如用户登录的一些帐户信息,登录验证码和一些密钥。。。很多网站没有咱cookie这菜蓝早就over了。

看到了鸡肋是否有点心动,看观别急,你的鸡肋别人可是不是这么轻易拿的。就好比大妈的菜篮是大妈的,里面的菜别的大妈可不是轻易能动的哦,拿了大妈会怒的,这是人家的私房菜.我们的cookie也是这样的,别的网站的cookie也不是轻易能访问得到我们的cookie,因为有一个跨域的问题,就像我们刚说的一样这个大妈不可能轻易的去拿别一个大妈菜蓝子里面的菜。好了,峰回路转,刚说到一个网站的Cookie不是那么轻易的访问另一个网站的Cookie,即然是不轻易,看观肯定还是能看出些端倪的。大妈要想去拿另一个大妈菜蓝里面的菜,首要必须要满足以下几个条件:1、两个大妈是一家的。2、两个大妈是熟人 。除了以上两个条件,比较合法成立的外,各位看客想出来的,就自已在心里偷笑会吧。

各位看观请换回频道来,我们的cookie也是这样的,也需要满足以下几个条件的:1、同一个公司同一个域名的站点。2、公司的合作伙伴许可。除了以上两个条件比较合法成立的外,各位看客想出来的,就也再次自已在心里偷笑会吧。因些我们的cookie提供了跨域功能,只需设置cookie的domain为同一域名就可以,比如把domain都设成xxx.com就可以两个站点相互访问了。刚只是说了其中的一种,还有一种就是通过iframe钳套,在一个网页中钳入一个iframe实现cookie访问。这下大妈间就能谈笑互换菜蓝子里的菜了。

是否感觉大妈间只要关系好,就能随意拿菜蓝子里的菜了,这也不一定,大妈可不是那么傻的人,大妈都是人精的,好不容易得来的鸡肋,怎么可能给别人,必定留一手的。cookie也是这样的,我们网站的一些重要的帐户信息不可能轻易的就被前端的Js给抓去用了,也必定要留一手的。所以我们的cookie也像大妈一样,留了一手,只要将Httponly 设为true,就万事大吉,前端的js休想访问,大妈就可以偷着乐了。

cookie这个菜蓝还真聪明的呀,最后还有一点就是,大妈买菜也不可能是从早上一直呆在菜市场买到晚上的吧,如果这样的话家人都会叫起来的。因此大妈买菜也是有时间限制的,大妈的时间有限制说明菜蓝子呆在菜市场的时间也是有限制的。因此我们的菜蓝(cookie)也是有时间限制的,我们可以通过expires来为我们的cookie设置相关过期时间的,如果不设置也就默认为网站会话过期时间,关掉浏览器cookie也会消失的。

通篇概述,cookie就完成了与大妈买菜这一相似的举动,主要是为了便于存储一些看似重要但又不重要的信息,(重要在于它能够一定程度的标记一些会话信息,不太重要在于它一般多次加密和需多个密钥才能破解),更重要在于减轻服务器的压力,加快网站响应,实现状态管理,继承于富客户端的理念。

调侃Cookie的更多相关文章

  1. vue + spring boot + spring security 前后端分离 携带 Cookie 登录实现 只写了个登录

    最近想弄一下vue 所以就自己给自己找坑入   结果弄的满身是伤 哈哈哈 首先我说下 前后端分离  跨域请求  我在网上找了一些  可是都是针对于 spring boot 的 我自己还有 securi ...

  2. 超大 Cookie 拒绝服务攻击

    有没有想过,如果网站的 Cookie 特别多特别大,会发生什么情况? 不多说,马上来试验一下: for (i = 0; i < 20; i++) document.cookie = i + '= ...

  3. IE10、IE11 User-Agent 导致的 ASP.Net 网站无法写入Cookie 问题

    你是否遇到过当使用一个涉及到Cookie操作的网站或者管理系统时,IE 6.7.8.9下都跑的好好的,唯独到了IE10.11这些高版本浏览器就不行了?好吧,这个问题码农连续2天内遇到了2次.那么,我们 ...

  4. 解决cookie跨域访问

    一.前言 随着项目模块越来越多,很多模块现在都是独立部署.模块之间的交流有时可能会通过cookie来完成.比如说门户和应用,分别部署在不同的机器或者web容器中,假如用户登陆之后会在浏览器客户端写入c ...

  5. jquery插件的用法之cookie 插件

    一.使用cookie 插件 插件官方网站下载地址:http://plugins.jquery.com/cookie/ cookie 插件的用法比较简单,直接粘贴下面代码示例: //生成一个cookie ...

  6. 一个诡异的COOKIE问题

    今天下午,发现本地的测试环境突然跑不动了,thinkphp直接跑到异常页面,按照正常的排错思路,直接看thinkphp的log 有一条 [ error ] [2]setcookie() expects ...

  7. [转载]Cookie/Session的机制与安全

    Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道.本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题. 因 ...

  8. jquery.cookie的使用

    今天想到了要为自己的影像日记增加赞的功能,并且需要用到cookie. 记得原生的js操作cookie也不是很麻烦的,但似乎jquery更简单,不过相比原生js,需要额外引入2个文件,似乎又不是很好,但 ...

  9. 跨域问题,前端主动向后台发送cookie

    跨域是什么? 从一个域名的网页访问另一个域名的资源,就会出现跨域.只要协议.端口.域名有一个不同就会出现跨域 例如: 1.协议不同  http://www.baidu.com:80 和 https:/ ...

随机推荐

  1. oracle暂时表空间 ORA-01652:无法通过16(在表空间XXX中)扩展 temp 字段

    今天在查数据的时候报错  ORA-01652:无法通过16(在表空间temp1中)扩展 temp 字段 查看表空间使用明细 SELECT b.tablespace,        b.segfile# ...

  2. U盘启动安装CentOS 6.3

    无光驱U盘启动安装CentOS 6.3的一些必要条件: 1.主板要支持U盘启动 2.8G的U盘 3.UltraISO软件 http://www.linuxidc.com/Linux/2010-03/2 ...

  3. sbt 配置

    1. SBT使用local maven repository,下载的库依然放在 ~/.m2/repository 2. SBT assembly 会把依赖库打包到一个jar包,需要使用assembly ...

  4. 正则表达式中/i,/g,/m的作用

    一./i (ignorCase)忽略大小写,注意仅是忽略大小写,并不忽略全半角. 二./g (globle)全文查找出现的所有匹配字符 三./m 1.(mutiple)多行查找2.m 影响 ^.$.3 ...

  5. linq的一些用法总结

    获取列表数据. IList<Model> list = dao.getmx(Model, pageInfo);//获取数据列表 1.将列表中id一样的数据进行group by分组,并返回序 ...

  6. C#实现自动切割图片

    由于做一个TD游戏需要一些图片素材,可是现有的从网上下载的<保卫萝卜>的图片资源是多张图片合在一起的,并且没有什么规则,虽然有 个xml文件似乎用来描述此图片内子图片位置大小等信息,但由于 ...

  7. Android LayoutInflater和findViewById 源码详解

    LayoutInflater大家很熟悉,简单点说就是布局文件XML解析器,setContentView函数也是调用了LayoutInflater 用法: View view = LayoutInfla ...

  8. Android开发手记(16) 数据存储一 SharedPreferences

    Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 SharedPreferenc ...

  9. 02-测试、文件读写、xml解析

    测试 黑盒测试 测试逻辑业务 白盒测试 测试逻辑方法 根据测试粒度 方法测试:function test 单元测试:unit test 集成测试:integration test 系统测试:syste ...

  10. TCP连接的状态分析

    1.先来了解一下TCP连接建立与关闭过程中的各种状态: CLOSED:初始状态,表示没有任何连接.LISTEN:Server端的某个Socket正在监听来自远方的TCP端口的连接请求.SYN_SENT ...