概念图图解 Web Cookie

概念图,concept map,作为与心智图(又称思维导图)并列的两大概念绘制工具之一,自约瑟夫·D·诺瓦克(Novak)于 1960 年代发明以来,得到了教育领域和商业领域上的广泛应用。Novak 总结道:“有意义的学习涉及到新概念和命题纳入现有的认知结构的同化”。

Meaningful learning involves the assimilation of new concepts and propositions into existing cognitive structures

Jan Lanzing 的概念图主页深入阐释了使用概念图的几个目的(翻译的不好请见谅~)。

  • 书写你的想法(头脑风暴等)
  • 设计一个复杂的结构(长文本、超媒体(hypermedia)、大型 Web 站点等)
  • 方便交流与传递复杂的思想
  • 用可视化方法整合新旧知识
  • 评估对概念的理解程度和诊断对概念的误解

Concept maps vs. mind maps

概念图图解 Web Cookie_第1张图片
一个概念图例子

说到这里,便可以利用概念图的技能深究 Cookie 知识点了。

  • 使用到了 CmapTools 的全平台免费软件。

P.S: 本次 Cookie 深究背景,实验室前端知识点之概念图实战选择了 Cookie。

对 Cookie 进行概念塑性

1

按照阮一峰老师的 JS 标准参考教程所总结的:

Cookie 是服务器保存在浏览器的一小段文本信息,每个 Cookie 的大小一般不能超过4KB。浏览器每次向服务器发出请求,就会自动附上这段信息。

可见,1993 年由卢·蒙特利发明的 Cookie 的存在解决了因 HTTP 协议无状态而无法满足交互式 Web 应用持续发展的需求。有了 Cookie 之后,用户和服务器之间的状态得以保持,产品层面平滑地延伸出了登录、注册、购买物品等实用功能。

2

按照 Cookie 的两种分类依据 —— 存在时间和存储位置,前者分为“非持久
Cookie”和“持久 Cookie”,后者分为“内存 Cookie”和“硬盘 Cookie”。实则“存在时间”和“存储位置”有着相映射的效果。

Cookie 保存在硬盘上,访问位置根据操作系统乃至浏览器的不同而不同,Cookie 保存在内存中,实则是浏览器即使使用 Cookie 的结果。也因此能看出,浏览器提供着对 Cookie 的编程接口。譬如用 document.cookie 可以访问浏览器当前域名下的 cookie 值(结果是字符串),如果访问失败的话,很可能是因为服务器发来的 Cookie 设置了 HttpOnly 属性不能用编程接口读取而只能作为 HTTP 请求头中出现。

概念图图解 Web Cookie_第2张图片

3

除了 Cookie 本身的内容,还有一些可选的属性也是可以写入的,它们都必须以分号开头。浏览器向服务器发送 Cookie 的时候,是一行将所有 Cookie 全部发送。浏览器向服务器发送 Cookie 的时候,是一行将所有 Cookie 全部发送。服务器告诉浏览器需要储存 Cookie 的时候,则是分行指定。

Set-Cookie: value[; expires=date][; domain=domain][; path=path][; secure]

常见的 Cookie 属性有。

  • Value:它是一个键值对,用于指定 Cookie 的值
  • expires:用于指定 Cookie 过期时间
  • domain:指定 Cookie 所在的域名
  • path:用来指定路径,必须是绝对路径
  • secure:用来指定 Cookie 只能在 HTTPS 下发送到服务器
  • max-age:用来指定 Cookie 有效期
  • HttpOnly:设置该 Cookie 不能被 JavaScript 读取

4

当然,Cookie 也不是万能的,维基百科中提到,Cookie 有如下缺点。

  • Cookie 会被附加在每个 HTTP 请求中,所以无形中增加了流量。
  • 由于在HTTP请求中的Cookie是明文传递的,所以安全性成问题。(除非用 HTTPS)。
  • Cookie的大小限制在4KB左右。对于复杂的存储需求来说是不够用的。
  • Cookie 容易被盗窃和脚本攻击

5

说到这里,我们已经能够画出来 Cookie 的概念图了,从 Cookie 的背景、分类及具体操作都能略谈一二,“有意义的学习涉及到新概念和命题纳入现有的认知结构的同化”,加深了我们对曾为抽象存在的 Cookie 的深刻理解。

推荐一本书

概念图是一个好的工具,能够帮助我们更好的梳理学习内容、及时记录我们的灵感并发挥我们的创造力。这里推荐一本好书:《学习、创造与使用知识 概念图促进企业和学校的学习变革》,正如书名一样,我们可以用概念图学习、创造和使用知识,也能促进企业和学校的学习变革。

《学习、创造与使用知识 概念图促进企业和学校的学习变革》这本书,适用于各位教师、教学设计者、研究者、学生,以及所有的知识产业、政府组织和商业领域的工作者,方便大家对知识的构建与整理。

[图片上传失败...(image-4dc42-1509644621601)]](http://upload-images.jianshu.io/upload_images/2558748-708b31806daa4f49.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

  • Hello,我是韩亦乐,现任本科软工男一枚。软件工程专业的一路学习中,我有很多感悟,也享受持续分享的过程。如果想了解更多或能及时收到我的最新文章,欢迎订阅我的个人微信号:韩亦乐。我的个人主页中,有我的订阅号二维码和 Github 主页地址;我的知乎主页 中也会坚持产出,欢迎关注。
  • 本文内部编号经由我的 Github 相关仓库统一管理;本文可能发布在多个平台但仅在上述仓库中长期维护;本文同时采用【知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议】进行许可。

你可能感兴趣的:(概念图图解 Web Cookie)