Algorithm 浏览器用于检测用户访问的URL的算法

Algorithm 浏览器用于检测用户访问的URL的算法,algorithm,browser,data-structures,Algorithm,Browser,Data Structures,当我浏览Stackoverflow时,我注意到我之前访问过的所有问题都用不同的颜色标记。然后我开始思考堆栈溢出是如何检测到这一点的 有人能告诉我他们使用什么算法吗,不仅仅是stackoverflow使用的算法,不同的站点也可能使用 可能是他们将问题编号存储在我的cookie中,在解析cookie数据后,他们能够说出我访问过的问题。但如果我访问了许多问题,这种方法可能吗 更新 正如每个人都提到的,这是一个浏览器属性,所以问题是他们如何记住这么多链接,他们使用什么算法或数据结构来存储链接。实际上,是

当我浏览Stackoverflow时,我注意到我之前访问过的所有问题都用不同的颜色标记。然后我开始思考堆栈溢出是如何检测到这一点的

有人能告诉我他们使用什么算法吗,不仅仅是stackoverflow使用的算法,不同的站点也可能使用

可能是他们将问题编号存储在我的cookie中,在解析cookie数据后,他们能够说出我访问过的问题。但如果我访问了许多问题,这种方法可能吗

更新


正如每个人都提到的,这是一个浏览器属性,所以问题是他们如何记住这么多链接,他们使用什么算法或数据结构来存储链接。

实际上,是您的用户代理(例如浏览器)在记住访问过的链接。然后一个网站就可以根据自己的喜好来设计它们

用户代理通常显示与以前访问的链接不同的未访问链接。CSS提供伪类“:link”和“:visted”来区分它们


至于你最新的问题。只要看一下代码,就会出现某种哈希表作为数据结构

此外,如果您的用户代理只是感兴趣,无论链接是否被访问,您只需要计算URL的指纹(例如),并将缓存的指纹与页面上找到的链接的指纹进行比较


即使你在整整一个月内每隔10秒访问一个新的URL,并且假设指纹将使用40个字节,你也只会消耗大约10兆的内存。

实际上,是你的用户代理(例如浏览器)在记住访问过的链接。然后一个网站就可以根据自己的喜好来设计它们

用户代理通常显示与以前访问的链接不同的未访问链接。CSS提供伪类“:link”和“:visted”来区分它们


至于你最新的问题。只要看一下代码,就会出现某种哈希表作为数据结构

此外,如果您的用户代理只是感兴趣,无论链接是否被访问,您只需要计算URL的指纹(例如),并将缓存的指纹与页面上找到的链接的指纹进行比较


即使你在整整一个月内每隔10秒访问一个新的URL,并且假设指纹将使用40字节,你也只会消耗大约10兆字节的内存。

其他网站也会出现这种情况(尽管有些网站决定将“已访问”的颜色与“未访问”的颜色相同,这样就看不见了)。顺便问一下,你真的认为我们需要一个Stackoverflow的链接吗?我们正在努力。现在。css
a:visited
可能其他网站也会出现这种情况(尽管有些网站决定将“visited”颜色与“not visited”颜色相同,这样就看不见了)。顺便问一下,你真的认为我们需要一个Stackoverflow的链接吗?我们正在努力。现在。css
a:他们可能还记得什么?你能给我一些提示吗。谢谢,可能和厨子有关,只是看了一下报纸。它似乎是一个哈希表,偶尔会被持久化(取决于您的设置)。请注意,SO/SE每个问题都有视图,这与服务器端的概念类似。它们是如何记住的?你能给我一些提示吗。谢谢,可能和厨子有关,只是看了一下报纸。它似乎是一个哈希表,偶尔会被持久化(取决于您的设置)。请注意,SO/SE确实对每个问题都有视图,这与服务器端的概念类似。