如何在 JavaScript 中唯一标识访问网站的计算机?
如果您想识别访问您网站的计算机,您必须将您网站的 cookie 存储在访问计算机上。
Cookies:简单来说,HTTP cookie 是存储用户对特定网站的偏好的小笔记。例如,当用户在未登录的情况下在线购物时,他可能会将一些商品放入购物车。即使在关闭浏览器并重新加载网站后,购物车中存储的物品也不会发生任何变化。用户的这些数据作为 cookie 存储在用户计算机本身中。所以,下次用户访问网站时,数据可以返回给网站服务器。因此,该网站能够唯一地识别计算机。
有关如何在网站中使用 cookie 的更多详细信息?
Cookies工作流程:
- 每当计算机访问您的网站时,服务器都会以键值格式向浏览器发送 cookie。一旦浏览器接受 cookie,它就会以文本记录的形式存储在计算机硬件中。
- 现在,当计算机访问您的网站时,该 cookie 将从计算机中检索并发送到服务器。这样,服务器识别访问该网站的计算机并记住之前的数据交换。
JavaScript 中的 Cookie: JavaScript 可以使用document.cookie属性执行所有操作,例如读取、创建和删除 cookie。一个 cookie 文本记录由四个属性组成。
- 名称-值或键值:当计算机重复访问网站时,这些是从浏览器发送到服务器的唯一属性对。其余所有属性仅由浏览器用于确定其他属性。
- 域和路径:控制网站在互联网上的权限的网站域名。设置 cookie 的目录或网页的路径。
- 安全和 HttpOnly:安全用于将 cookie 交换限制在加密传输中,指导浏览器仅通过安全/加密连接使用 cookie。 HttpOnly指示浏览器不要通过HTTP (和 HTTPS)请求以外的渠道公开 cookie。
- Expires 和 Max-Age: Expires 定义了 cookie 存储在浏览器中的时间,之后将其删除。如果此项为空,则 cookie 将在访问者退出浏览器时过期。
示例:以下示例演示了 cookie,它将 cookie 存储 2 天,并使用它以用户的语言向用户打招呼。运行此代码后,系统会要求您输入您的语言“英语/西班牙语”。输入后,您可以再次运行代码并看到系统以所选语言向用户说“你好”。
输出:如果选择“english”,它会给出警告消息框,然后是文档消息。
Hello Friend!
You selected english! Now RUN it again.
cookie 不保证在用户下次访问网站时能够识别计算机。发生这种情况有三个原因。
- 用户拥有删除cookies和清除缓存的完全权限。
- Cookie 用于识别浏览器。下次,如果用户通过不同的浏览器访问您的网站,cookie 将分别存储在两个浏览器上。
- 如果用户在浏览器中关闭了本地 cookie 支持,则 cookie 将不起作用。
要始终识别访问您网站的计算机,您必须在访问计算机上编写系统应用程序。