Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[B0C]概念图图解 Web Cookie #44

Open
hylerrix opened this issue Sep 20, 2017 · 0 comments
Open

[B0C]概念图图解 Web Cookie #44

hylerrix opened this issue Sep 20, 2017 · 0 comments

Comments

@hylerrix
Copy link
Owner

概念图,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

一个概念图例子

说到这里,便可以利用概念图的技能深究 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 请求头中出现。

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 的深刻理解。

推荐一本书

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

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

amazon 入口:学习、创造与使用知识 概念图促进企业和学校的学习变革

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant