web前端为什么不要用轮询

worktile 其他 339

回复

共3条回复 我来回复
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    Web前端不推荐使用轮询的原因有以下几点:

    1. 效率低下:轮询方式是通过不断向服务器发送请求来获取数据的,无论数据是否有更新,都需要不断发送请求,这就浪费了大量的网络资源和服务器处理能力。尤其在大量用户同时访问的情况下,轮询会给服务器带来较大压力,影响整个系统的性能。

    2. 实时性差:轮询方式需要等待服务器的响应,无法做到实时地获取最新数据。因为它的每次请求都是预先设定好的时间间隔,无法根据数据更新的速度动态调整。如果数据在两次请求间发生了更新,那么用户只能在下一次轮询时才能得到最新数据,这对一些对实时性要求较高的应用来说无疑是不可接受的。

    3. 增加服务器负载:由于轮询需要不断向服务器发送请求,即使数据没有更新,也会造成网络流量的浪费,增加服务器的负担。对于服务器来说,处理大量的无效请求会消耗大量的计算资源和带宽。

    4. 用户体验差:轮询方式需要等待服务器的响应,用户需要在每次请求之间等待一段时间。这样会导致用户感觉不到实时的反馈,给用户带来不良的体验。

    综上所述,Web前端不推荐使用轮询的主要原因是效率低下、实时性差、增加服务器负载以及用户体验差。为了提升性能和用户体验,应该选择更为高效和实时的数据传输方式,如WebSocket、长轮询等。这些方式可以实现真正的实时更新,并且减少了对服务器资源的浪费。

    1年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    Web前端之所以不推荐使用轮询,是因为轮询会给服务器和客户端带来不必要的负担,同时也不够实时和高效。以下是具体原因:

    1. 浪费资源:轮询是指客户端定期向服务器发送请求,询问是否有新的数据。无论服务器是否有新数据,客户端都会发送请求,这样会给服务器带来很大的负荷。特别是在大量用户同时轮询的情况下,会导致服务器资源浪费。

    2. 延迟高:由于轮询是定时发送请求,即使服务器有新数据,也需要等待下一次请求周期才能获得数据。因此,延迟较高,无法实时获取数据。对于需要实时更新的数据,如即时通讯、股票价格等,使用轮询并不适合。

    3. 不够高效:轮询的请求间隔时间一般是固定的,无论服务器是否有新的数据,都需要等待一段固定的时间。当数据更新的频率较低时,大部分请求都是无效的,造成了资源的浪费。

    4. 网络带宽浪费:在轮询的过程中,即使服务器没有新数据,客户端也会发送一次请求。这样会导致网络带宽的浪费,特别是在大量用户使用轮询时,会占用大量的网络资源,降低整体网络速度。

    5. 其他方案可替代:为了解决轮询的问题,出现了一些替代方案,如长轮询(Long Polling)、服务器推送(Server Push)、WebSocket等。这些方案能够实现更高效、实时的数据传输,减少了不必要的请求和网络资源的占用。

    综上所述,Web前端不推荐使用轮询是因为它会给服务器和客户端带来不必要的负荷,延迟较高,网络带宽浪费,而且有更高效、实时的替代方案可选择。

    1年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    标题:为什么Web前端不推荐使用轮询

    引言:
    随着Web应用程序的不断发展,前端开发人员面临着更高的性能和用户体验的挑战。传统的轮询方式已经不能满足这些需求,因此Web前端开发人员转向了更为高效的方式来实现实时数据的更新和通信。本文将从方法、操作流程等方面讲解为什么Web前端不推荐使用轮询。

    1. 轮询的工作原理
      轮询是一种前端获取服务器数据的方式,它的工作原理是不断地向服务器发送请求,询问是否有新的数据。当服务器接收到请求后,会检查是否有更新的数据,并将其返回给前端。前端收到响应后再次发送请求,持续这个过程。

    2. 轮询的缺点
      2.1 带宽浪费:轮询方式会频繁地向服务器发送请求,即使数据没有发生变化也会消耗带宽资源,浪费服务器和网络的资源。
      2.2 延迟高:由于轮询是固定时间间隔发送请求,轮询的时间间隔会直接影响响应数据的延迟。如果设置较短的时间间隔,会导致过多的请求,从而降低服务器的性能;而长时间间隔又会导致实时数据的延迟。
      2.3 数据更新不及时:轮询是在固定时间间隔内获取服务器数据,如果数据在间隔内发生了更新,前端在下一次轮询时才能获取到最新的数据。这会导致实时性不高,特别是在对于需要实时展示数据的场景下,轮询方式无法满足需求。

    3. 替代方案:长轮询与WebSocket
      为了解决轮询方式的缺点,Web前端开发人员引入了长轮询和WebSocket这两种更为高效的实时通信方式。

    3.1 长轮询
    长轮询是在传统的轮询方式上进行改进,它的工作原理和轮询类似,但有一个特点是服务器在没有新数据的情况下,不立即返回响应,而是将请求挂起,直到有数据更新时再返回响应。这种方式可以减少不必要的请求和带宽浪费,但仍然存在数据更新不及时和延迟高的问题。

    3.2 WebSocket
    WebSocket是一种新的协议,它提供了全双工的实时通信功能。与轮询和长轮询不同,WebSocket建立了一条持久的连接,可以保持与服务器的实时通信而无需频繁地发送请求。前端可以通过WebSocket监听服务器端的数据更新事件,实时获取最新数据。WebSocket相比轮询方式具有以下优点:
    3.2.1 实时性高:由于WebSocket建立了持久连接,可以实时地获取服务器端的数据更新。
    3.2.2 带宽消耗低:WebSocket建立的连接只需要一次,之后可以通过该连接传输多次数据,不需要频繁地发送请求,可以节省带宽资源。
    3.2.3 延迟低:由于WebSocket是全双工通信,所以数据可以立即从服务器发送到客户端,避免了轮询方式的无效请求和等待时间。

    结论:
    传统的轮询方式虽然简单易用,但其带宽浪费、延迟高、数据更新不及时等问题已经不能满足现代Web应用的要求。Web前端开发人员应该转向更为高效的实时通信方式,如长轮询和WebSocket,以提供更好的性能和用户体验。

    1年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部