【问题标题】:JavaScript - request-cookies missing from `document.head.appendChild` src & hrefJavaScript - `document.head.appendChild` src & href 中缺少请求 cookie
【发布时间】:2020-02-24 08:22:12
【问题描述】:

正如标题所暗示的,这很奇怪,但却是真实的。

服务器端

服务器 (PHP) 为每个请求设置一个基于会话的 cookie;正如建议的那样,当浏览器关闭时,这个 cookie 就会过期。

客户端

一个函数用于分别通过<script src="/some.js"></script><link rel="stylesheet" href="/some.css">将所需的JavaScript和CSS文件动态添加到DOM head中。

我可以在开发人员工具的 Network 选项卡中看到请求发生,但是当我单击其中一个时,我发现这些请求中的每一个都没有请求 cookie!

现在我的网络应用程序失败了,因为服务器正在查找(丢失的)cookie 中的会话令牌。

问题

为什么我的 cookie 不见了?我不会删除它们!

欢迎任何建议,谢谢。

【问题讨论】:

  • 您检查过 cookie 的 domainpath 部分吗?另外,查看 cookie 大小(以字节为单位的值);如果大小小于 1 或大于 4000(ish),那么您的 cookie 将被浏览器自动丢弃
  • 噢!我已经检查过了,你是对的,我的 cookie 最终超过了 6k!谢谢!

标签: javascript php cookies dynamic preload


【解决方案1】:

浏览器 cookie 大小限制

在提出这个问题时,浏览器会在其大小超过 4000 字节(或多或少)时丢弃 cookie。文档可能会指定“4096”,或者您可以自己在浏览器配置中设置限制,但为了安全起见,请确保您的 cookie 永远不会超过 4k 字节。

这可能会在未来发生变化,但牢记大小限制将防止一般的 cookie(标头)消失问题。

最后,如果您的 cookie 大小为 0 字节,它也可能“消失”。

【讨论】:

    猜你喜欢
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-02
    • 2011-03-08
    • 2021-11-12
    • 1970-01-01
    • 2019-07-06
    相关资源
    最近更新 更多