09. JavaScript 和 cookie

在 Web 术语中,cookie 是一小段信息,当用户第一次访问 Web 服务器时,服务器将这些信息发送给浏览器。这个用户以后每次访问这个 Web 站点时,Web 服务器可以通过 cookie 识别这个用户。浏览器将 cookie(其中包含关于访问者的信息)作为纯文本文件保存在计算机硬盘上。

作为 JavaScript 开发人员,你可以用 cookie 做许多有意义的事情。如果你的站点要求注册,那么可以用 cookie 将访问者的用户名和密码保存在他们的硬盘上,这样他们就不需要在每次访问时都输入用户名和密码。可以跟踪用户已经访问过站点的哪些部分,以及统计用户的访问次数。

cookie 不能实现哪些操作:无法获得关于用户的任何真实信息,比如他们的电子邮件地址;无法使用 cookie 查看用户硬盘上的内容;cookie 也无法传输计算机病毒。cookie 只是用户硬盘上一个简单的文本文件,JavaScript 开发人员可以在其中存储一些信息,仅此而已。

cookie 总是包含发送它的服务器的地址。cookie 技术背后的本质是“识别”。可以把它看作 Web 上的 Caller ID,只是在形式方面有各种变化——每个使用 cookie 的 Web 站点向用户的浏览器授予某种形式的个性化 ID,这样在用户下一次访问这个站点时就能够识别出他。当用户再次访问以前向他传递过 cookie 的 Web 服务器时,服务器可以查询浏览器,了解这个用户是否拥有它的 cookie。如果是,服务器就可以获取原来传递的 cookie 中存储的信息。请记住,cookie 只识别使用的计算机,而不识别使用这台计算机的人。