当我们在 Firefox 中禁用历史记录时究竟会发生什么?

问题描述

我正在开发的系统中的实时视频流存在问题,该问题仅在 Firefox 中且仅在正常模式下发生。 播放器正确加载了流,但几秒钟后无法继续加载,并且一直在不断尝试和尝试。

这不会发生在 Chrome 中,也不会发生在我以私人模式加载页面时,也不会发生在普通视频中。仅使用实时流,仅在 Firefox 中,仅在正常模式下。 这发生在本地开发(家庭、远程连接)和公司云中。

这是一个 Angular 8/NodeJs 系统,我使用的播放器是 Clappr。我更改为 Video.js 并且问题仍然存在。 该流来自一个负载均衡器,该负载均衡器有 6 个子服务器,每个子服务器都有一个 apache 服务器,该服务器有一个代理到发起该流的 icecast 服务器。

[load balancer] < [6 child servers with apache server proxy] > [icecast server]

我在一家安装了 IPS 系统的大型公司工作。这是我想到的第一件事。但是 IPS 团队找不到任何被阻止的流量。另外如果是这样,为什么在私人模式下不会阻止流量?

所以我想尝试查明私人模式下的确切配置有什么不同,我发现禁用所有历史记录(不仅是导航和下载或表单)也可以工作。

有谁知道禁用导航历史记录时究竟会发生什么?除了不保存历史,它对其他东西有影响吗?某种类型的缓存、网络或类似的东西?任何人都知道如何在不禁用历史记录的情况下使流工作?我不能要求我的用户为了使用我的系统而禁用历史记录。

编辑

可能与该问题相关的一件事是,在 Firefox 中,传输开始时不显示 LIVE 标签。它显示一个负数。也许这会给历史带来一些问题。

解决方法

我找不到有关在 Firefox 中禁用历史记录时究竟会发生什么的信息,但我可以解决在 Firefox 中播放流的问题,所以我不会接受这个答案,但将其留在这里以供将来参考以防万一有人遇到类似问题。

我通过向视频网址添加 ?nocache=<random integer of length 10> 解决了这个问题。请注意,如果您的网址中已经有一些参数,则您的网址中不能有 2 个 ? 字符,并且必须正确混合参数。