浏览器针对同一域名的请求限制问题,flvjs与videojs视频播放同时播放数量限制,附解决方案

最近在开发视频直播播放系统的时候,发现不同浏览器对在同一时间,同一域名的请求有一定数量限制,超过限制数目的请求会被阻塞,具体限制数量是根据浏览器不同而不同,以下图片可以参考:

但是针对这种同源请求我又不可避免,以下是个人总结解决办法:

  1. 后端Nginx配置http2.0,具体配置方法百度:Nginx配置HTTP2.0,就行了。HTTP/2 的多路复用(Multiplexing) 则允许同时通过单一的 HTTP/2 连接发起多重的请求-响应消息,的就是变相的解决浏览器针对同一域名的请求限制阻塞问题。(没试过,但是官方介绍理论上是可以的,网上也有很多这方面的帖子)
  2. 后端将服务配置在不同的源也可以解决这个问题,这样就不是访问同源了,当然可以避免这个问题。
  3. 后端对固定的几个端口推送服务(例:8080/8081/8082/8083),或者说前端可以通过后端提供的多个端口(可以后端返回这个端口列表也可以提前约定直接定义好)访问到最终同一个结果,前端根据当前的请求数量来更改请求端口号就行,如果是普通的ajax请求,这个办法还需要配置多个请求代理,毕竟端口不同。如果是视频流之类的访问地址就可以直接更换访问url地址的端口号就行。我的业务中使用的是视频播放同时最多16路,所以我这边解决是后端接口返回一个端口列表告诉我哪些端口可以访问到视频服务,我根据播放的视频端口访问情况来决定下一个视频的访问端口号。

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值