首页 > 解决方案 > 如何处理cookies?

问题描述

作为从网络上抓取数据的业余项目的一部分,我正在写一些东西来抽象出对 cookie 的处理。我已经找到了RFC 6265,它定义了应该如何处理 cookie,但是我阅读得越频繁、越仔细,我就越感到困惑。

  1. 请有人确认这是定义所需内容的适当文件。
  2. 该文档的第 5.3 节列出了 cookie 应存储的字段。是否有任何地方提供一些 Cookie 示例的来源:标头以及应由定义的 cookie 存储的值?
  3. 我对文档第 5.1.4 节中描述如何“计算 cookie 的默认路径”的算法感到有些困惑。在阅读了互联网上的各种资料后,我假设如果标头中没有指定 PATH,则默认路径应该存储在 cookie 中,并且第 5.1.4 节中提到的 request-uri 是资源的 id收到 Cookie: 标头时返回。请问有人可以确认或纠正我吗?
  4. 我对第 5.1.4 节的默认路径算法感到更加困惑,该算​​法讨论了如何处理不以“/”字符开头的 uri-path,因为rfc1738 的最后一段,第 3.1 节明确声明主机(或端口)和 url-path 之间的“/”不是 url-path 的一部分”。(rfc1738 的标头说它已被 rfc4248 和 rfc4266 淘汰,但由于它们分别描述了 telnet 和 gopher 方案的 URL,而我只对 http(s) URL 感兴趣,我相信我可以放心地忽略它们.) 据我所见,如果没有 PATH 属性的 cookie 与具有 http/https 方案的资源一起发送,则 cookie 会将其路径属性设置为“/”。如果具有 id 的资源使用稍后请求http / https方案,请求路径也不会以“/”开头,因此cookie永远不会路径匹配并且不会包含在请求中。这看起来很荒谬。请有人帮我看看我是什么误会了吗?

我假设域匹配规则的重点是让站点可以指定只应发送回自身或其子域的 cookie,但我不太确定路径匹配规则应该做什么,也许如果有人可以提供一个模糊但可以理解的一句话描述,我也许可以自己解决这个困惑?

非常感谢。

标签: cookiesrfc6265

解决方案


推荐阅读