javascript - HTTP cookie 如何运作?
问题描述
如果这属于 stackoverflow 之外,我深表歉意,但我正在努力理解互联网 cookie。
我已经阅读并完成了以下站点的教程:Whatsmyipadress、w3schools、tutorialspoint以及工作原理。
据我了解,cookie 的工作方式如下:
- 客户访问网站,
- 网站请求 cookie,
- 如果 cookie 不存在,网站会创建 cookie,
我找到了这个示例并尝试使用,但每个人都有相同的名称和值:
当我对不同的用户进行测试时,每个人都返回了相同的组合name:bob
我应该随机分配一个值吗?第一个链接说用户需要完成一个注册类型的页面,然后服务器将使用该信息来创建一个 id。这类似于关于学校的教程(除了他们的示例使用了弹出窗口)。这也是我需要做的吗?
cookie 是如何变得独一无二的?根据我的经验,我无法个性化任何体验,因为每个人都有相同的名称/值对。
解决方案
Cookie 特定于特定域,也可以特定于域内的子域和/或子目录。因此,来自不同网站的同名 cookie 之间没有冲突,您不必担心使您的 cookie 独一无二(您自己网站使用的所有 cookie 除外)。每个域只能查看和修改自己的 cookie。
Cookies 也特定于特定的客户端浏览器。当您从一个用户发送或获取 cookie 时,它对来自不同用户的 cookie 没有影响。
推荐阅读
- elasticsearch - Elasticsearch 关键字字段排序返回错误结果
- android - 打盹模式和空闲是一回事吗?
- azure - Salesforce 的 Azure 数据工厂链接服务(Salesforce 问题中的 API 访问)
- swift - 如何在 Xcode 12 上将 swift 包添加到多平台应用程序
- pandas - 根据另一个数据框的值填充 1 个数据框
- android - 新的 MockWebServer 因 java.lang.NoClassDefFoundError (TaskRunner$RealBackend) 而失败
- google-bigquery - 如何获得所有值的总和?
- java - 为什么 FileOutputStream 会通过串行连接发送多余的字节?
- r - 将递归函数嵌套在另一个函数中
- boost-beast - boost::beast::http::request 将文件作为 multipart/form-data 发送