1

这是一个价值百万美元的问题,我在这里和其他 php 编码相关的网站和论坛上一次又一次地看到它,但我从未见过它的答案。

因此,我开始深入研究一些大型高流量论坛如何实现这一功能,即向您显示哪些线程中有新的未读帖子,并且似乎它们将线程 ID 号存储到用户 cookie 中。所以会有一个cookie,其中包含您在一定时间内读取的每个线程的线程ID。或类似的东西。

然后我在这里读到cookie只能存储X个字符,所以我想知道一个cookie可以存储多少数据?如果我有一个 5-6 个字符的 ID 号,我可以在 cookie 中放入多少个字符?

4

3 回答 3

1

更重要的是,cookie 规范规定浏览器只需要每个域接受 20 个 cookie。Firefox 将此限制增加到 50,Opera 增加到 30,但 IE6 和 IE7 强制每个域 20 个 cookie 的限制。超出此限制的任何 cookie 都将淘汰旧的 cookie 或被浏览器忽略/拒绝。

取自该作者的帖子

我相信论坛帖子的未读/已读状态应该通过数据库来完成。我在网上找不到示例,但我已经阅读了“PHP 和 MySQL Web 开发(第 4 版)”,并且他们有一个专门用于开发您自己的论坛页面的部分。他们提供示例代码并解释启动它的过程。

于 2010-01-13T15:42:18.203 回答
0

ie 中的 cookie 限制:

最多 300 个 cookie

每个 cookie 最多 4096 字节(通过在 Set-Cookie 标头的语法描述中组成 cookie 非终结符的字符的大小来衡量)

每个唯一主机或域名最多 20 个 cookie

于 2010-01-13T15:39:58.973 回答
0

我不认为他们使用 cookie,因为如果您切换计算机,它不会持续存在(除非它是某些框架提供的基于 DB 的 cookie)。我假设他们在数据库中有一个关系表,用于跟踪用户查看线程的最新日期。

于 2010-01-13T15:40:37.803 回答