【问题标题】:Maximum 20 cookie per domain - Why?每个域最多 20 个 cookie - 为什么?
【发布时间】:2011-05-28 19:28:34
【问题描述】:

我刚刚发现了一个有趣的事实,显然一个网站最多可以有 20 个单独的 cookie。

好的 - 很公平。

但是你到底为什么要存储比“UserID”更多的东西,为什么你可能需要 20 个 cookie?

【问题讨论】:

  • 可能是子域?好问题..
  • 20 个 cookie 语句的任何 URL 吗?
  • @Uwe - 我在进行 ASP.NET 测验后阅读了声明 geekinterview.com/question_details/18128(我的 cookie 答案错误!)
  • 顺便说一句,我认为存储 UserID (int) 是一个非常糟糕的主意,因为它很容易劫持其他帐户。
  • @Uwe - 显然这只是一个例子,它可能是某种服务器可以理解的用户 ID。一旦注销,cookie 就会过期

标签: asp.net http cookies


【解决方案1】:

如果您为用户提供自定义网站的方法,您需要将他们的设置存储在某个地方。 您可能需要 cookie:

  • 用户设置
  • 会话 ID
  • 购物篮的内容
  • 最后查看的项目
  • 用户登录

【讨论】:

  • 但是 cookie 是最好的前进方式,你肯定会在服务器端存储任何自定义项
  • 您可以将它们存储在服务器端,由您决定哪种方法更适合您
  • 如果您的用户在不同时间从多台不同的计算机登录,您需要存储每个浏览器的设置
【解决方案2】:

这是一个选择。如果您不需要 20 个 cookie,并不意味着其他人不需要。

【讨论】:

  • 我只是不明白这个选项为什么?肯定会在 cookie 中存储一个用户 ID,而不是别的吗?
  • @m.edmondson:@thejh 和 @PiedPiper 列出了多个 cookie 的一些不错的用途。如果您的网站变得非常复杂,将信息放在客户端会非常有用。特别是如果您的网站的外观可以自定义,并且您希望您的用户即使不必登录也能保留它。
【解决方案3】:

我能想到的一些:

  • 永久登录 cookie
  • 会话 cookie
  • 独立于用户的设置
  • 用户跟踪cookie

【讨论】:

    【解决方案4】:

    同意PiedPiper 和thejh。如果您正在存储用户信息并根据用户操作自定义网站的行为,那么您很快就会用完单个 cookie 的存储限制。

    【讨论】:

    • 那么为什么不在服务器端存储定制呢?您可以完全控制的地方
    • 自定义将在服务器端,当然。但是我们需要在客户端机器上保留一些标识符,以便我们可以将其绑定回服务器记录。更多的场景是,当我的站点中有购物篮功能并且我一次支持多个购物篮时。
    【解决方案5】:

    一个网站可以有多个页面,其中许多页面可能包含一些信息,这些信息又可能存储在 cookie 中。具有讽刺意味的是,您问为什么要使用很多 cookie,因为我看到很多人抱怨为什么只有 20 个!!!

    确保您不要创建大量 cookie 是一个很好的做法,因为 IE 有 20 个 cookie 限制。其他浏览器可能有更多[或更少]!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-24
      • 2011-01-28
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 2013-10-08
      • 2011-06-21
      • 2017-10-16
      相关资源
      最近更新 更多