我不知道如何正式陈述这个问题,因为我不知道这里到底发生了什么。 每当有任何用户对我的帖子发表评论时,facebook就会发出如下所示的请求,在没有我做任何事情的情况下显示该评论。他们怎么做?
https://0-edge-chat.facebook.com/pull?channel=p_100009456028304
这不能是推送通知,因为他们正在不断地提出拉取请求(我使用浏览器中提供的开发人员工具进行检查,尽管我 我不确定它是否是推送通知。)他们不断向上面的URL发出拉动请求。这项技术被称为什么? 有人可以帮我理解这一点。 也许这个问题是重复的,已经在堆栈溢出时得到了答案。但是 因为我不知道这是什么,所以很难搜索。(我试过但找不到任何东西)
答案 0 :(得分:1)
正如在评论中正确地说的那样,这称为长轮询。 简而言之,有5种方法可以在网页中实现实时更新:
Facebook正在使用长轮询,轮询超时为50秒。 这意味着浏览器向服务器发出HTTP请求。如果没有可用的更新,则服务器将保留该请求最多50秒。这样,只要有更新,就可以将其推送到客户端,而无需等待新的客户端请求(如在正常轮询中)。