一位朋友最近在 Facebook 上分享了这张图片:
(我添加了“错误”的叠加层。)
这显然是不正确的:马萨诸塞州的监狱不可能比大学多。 (MA 实际上是美国大学与监狱的比例最高。)然而,在 Facebook 讨论中放置原始来源的链接后,我们发现了一些非常奇怪的事情:移动设备上的人看到的地图不正确,但桌面设备上的人看到一个更正的:
事实证明,Facebook 在桌面上附加了一个跟踪参数?fbclid=...
,而不是在移动设备上。通常这不会做任何事情,因为站点在确定要返回的页面时会忽略它,但是该站点显然配置了缓存。
许多站点使用缓存来更容易地提供页面。如果您要求他们提供一个页面,他们会将其提供给您(这可能需要大量工作才能生成),然后保存一份副本。然后当其他人请求相同的页面时,他们可以返回保存的副本,而不是投入所有工作来重新生成它。该站点在其缓存中具有/usa-prison-v-college
的缓存副本,其中包含过时的内容,但是由于?fbclid=...
后面总是跟一个新令牌,因此这些请求将永远不会在缓存中找到,它们会返回当前,更正的页面。
如果你有缓存,当你改变页面时你会做什么,就像他们在这里做的那样?主要有两种方法:
-
有办法告诉缓存页面已更改并且它应该忘记它的副本。
-
始终缓存一小段时间。即使只是一分钟也可以减轻服务器的大量负载,该服务器正在收到数千个热页请求。
在这种情况下,他们显然也没有这样做:我们昨天遇到了这个问题,截至目前,该网站仍在返回不正确的数据。
(在最初的问题上,将大学的数量与监狱的数量进行比较是非常愚蠢的:如果一个州拥有大型监狱和小型大学,那是否比相反的州更好?比较监狱与大学的人数会更有意义。)
评论来自: 脸书