websocket 如何facebook,twitter重新加载他们的页面没有任何刷新?

qcbq4gxm  于 2023-04-30  发布在  其他
关注(0)|答案(2)|浏览(172)

我对这项技术非常好奇,我想知道Facebook,Twitter和许多网站在点击链接后如何重新加载页面而没有任何刷新?
我在谷歌上搜索这个,但没有找到任何有用的信息,在这个Quora X1 E0 F1 X.有人说他们使用WebSocket API或 AJAX 来请求类似的东西。
那么,这个技术/技术的名称是什么?

cx6n0qe3

cx6n0qe31#

大多数现代网站都使用FE框架,如React,Angular,Vue和许多其他框架,其主要功能是动态构建DOM以响应用户操作,而无需重新加载页面。
这些特定框架的一个强大工具是路由器。这基本上是从存储在FE端的蓝图重建页面
请看一下React Router的工作演示:https://codesandbox.io/s/nn8x24vm60
P.S:当用户使用特定的路由器链接进行导航时,几乎所有的JS都会隐藏/删除DOM中的特定元素,并将它们替换为预期的元素(对于其他开发人员检查DOM来说,这看起来像普通链接,除非你真的检查了附加的事件侦听器)

dnph8jn4

dnph8jn42#

是的,它们使用Web Socket或任何其他类似的实现。Web Socket与HTTP的不同之处在于,它允许具有低延迟的双向数据传输,并且使用全双工通信而不是HTTP中使用的半双工通信。
因此,用户无需刷新页面即可接收数据。一些实现使用称为握手和轮询的技术(目前由Twitter使用),通过示例化连接的对等体之间的连接,使数据容易可用,而无需任何页面刷新。你可以阅读更多关于Wikipedia WebSocket希望这是有帮助的。

相关问题