浏览器并发请求数以及解决办法

这篇具有很好参考价值的文章主要介绍了浏览器并发请求数以及解决办法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

页面卡顿,需要好长一段时间才能加载完成,有可能是资源请求过多,再加上请求响应慢的原因。每个浏览器都有资源请求并发数的限制,本文内容讲 如何查看请求阻塞情况 到前端如何针对该限制进行优化。

1.如何查看资源阻塞情况

按 F12 查看浏览器控制台,如下图:
浏览器并发请求数以及解决办法
从 Waterfall 看出,前六个GET请求是正常的,但是最后一个请求没有立即发出,将鼠标悬浮到最后一个请求的 waterfall 柱状图上,悬浮窗口如下图。
浏览器并发请求数以及解决办法
从 Connection Start 看出,这个请求阻塞了 882.56ms。

再仔细观察请求地址和方法,发现同域名同请求方法的情况下,会有并大最大限制数。

2.浏览器请求并发

(1)规则

同一域名下,
①同一GET请求的并发数是1,也就是说上一个请求结束,才会执行下一个请求,否则置入队列等待发送;
②不同GET/POST请求的并发数量是6,当发送的请求数量达到6个,并且都没有得到响应时,后面的请求会置入队列等待发送。

(2)原因

这其实是基于多方面因素考量出的优化结果:

  • 对操作系统端口资源考虑

PC总端口数为65536,那么一个TCP(http也是tcp)链接就占用一个端口。操作系统通常会对总端口一半开放对外请求,以防端口数量不被迅速消耗殆尽。

  • 过多并发导致频繁切换产生性能问题

一个线程对应处理一个http请求,那么如果并发数量巨大的话会导致线程频繁切换。而线程的上下文切换有时候并不是轻量级的资源。这导致得不偿失,所以请求控制器里面会产生一个链接池,以复用之前的链接。所以我们可以看作同域名下链接池最大为4~8个,如果链接池全部被使用会阻塞后面请求任务,等待有空闲链接时执行后续任务。

  • 避免同一客服端并发大量请求超过服务端的并发阈值

在服务端通常都对同一个客户端来源设置并发阀值避免恶意攻击,如果浏览器不对同一域名做并发限制可能会导致超过服务端的并发阀值被BAN掉。

  • 客户端良知机制

为了防止两个应用抢占资源时候导致强势一方无限制的获取资源导致弱势一方永远阻塞状态。

浏览器资源请求并发原因原文:https://blog.csdn.net/zz130428/article/details/128273525

3.各浏览器并发数

浏览器并发连接数是有限的, 一般是4到6个,在10个以内。

(1)http/https 并发数

主流浏览器对 HTTP 1.1 、HTTP 1.0 最大并发连接数目:
浏览器并发请求数以及解决办法

(2)websocket 并发数

浏览器并发请求数以及解决办法

4.解决/优化并发数限制

(1)将资源分散到不同域名

浏览器并发连接数限制只是针对同一域名,将资源分散到不同的域名下,即可实现并发数的扩展,例如一个域名是10个,两个域名就是20个并发了。

注意:资源地址的端口号不同也会被视为不同域名

(2)减少网络请求

  • 配置304请求,提高请求速度 (后端配置)
  • 图标、css、js合并,减少http请求数
  • 使用缓存,使用cach-control或expires这类强缓存时,缓存不过期的情况下,不向服务器发送请求
  • 不使用CSS的【@import】,它会造成额外的请求
  • vue使用动态路由,实现按需导入js,减少http请求数

参考https://blog.csdn.net/zz130428/article/details/128273525文章来源地址https://www.toymoban.com/news/detail-472661.html

到了这里,关于浏览器并发请求数以及解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pc端项目的h5页面运行在手机浏览器使用vconsole查看页面元素、控制台、请求等信息

    使用vconsole来查看h5页面运行在手机浏览器上的页面元素、控制台、请求等信息 在vue项目中,也可以不需要使用npm安装即可使用 话不多说,直接把下面代码放到 body 标签中即可 直接把下面代码放到 body 标签中即可 放到根目录的index.html页面的body中,如下图

    2024年02月04日
    浏览(58)
  • Selenium打开浏览器闪退问题(浏览器驱动是对应的前提)-解决办法

    问题解决前的代码: 问题解决后的代码: 很显然,解决办法很简单,把driver放到main外面当全局变量,然后在main里面调用就ok了

    2024年02月12日
    浏览(64)
  • Java爬虫 通过Chromedriver+Chrome浏览器+selenium获取页面的请求和响应(未完全实现)

    因为最近看到一个软件可以实现网页的识别,自动导入网页的内容,感觉这个功能很厉害(真心佩服设计那个软件的人)。但不清楚这个软件的网页识别的实现,也没有接触过相关的技术,就上网搜索并学习一些相关的技术,所以有了这篇文章。但是只能获取简单的请求,一

    2024年02月13日
    浏览(67)
  • 您的浏览器由所属组织管理 解决办法

    大概是某天大意了用了下百度不小心点到广告后边浏览器被劫持给我装垃圾软件,用火绒扫了一遍基本没问题了,但是浏览器那个看到就膈应。 regedit进入到注册表,一定给要删干净 谷歌官方由说明按着删除即可 要从 Windows 设备中移除 Chrome 浏览器管理政策,您需要清除 Ch

    2024年02月04日
    浏览(46)
  • UC浏览器不让访问网站的解决办法

    我们在使用浏览器的过程中,难免遇到禁止访问网站的情况,比如uc浏览器收到该提示要怎么办呢?下面就为大家带来uc屏蔽禁止浏览网站解除方法的介绍。 uc屏蔽网站怎么解决? 1、风险网站屏蔽 · 一些擦边违规违禁站点、色情赌博网站都会被uc浏览器屏蔽,uc浏览器建议大

    2024年02月05日
    浏览(86)
  • 将JWT令牌存储到浏览器中localStorage中,并且往页面请求头中添加token

    其中response.data.data是后端返回的数据为jwt字符串 在vue中的main.js添加如下再带,axios便会拦截所有请求并且如果localStorage有token则会添加到页面的请求头中

    2024年02月21日
    浏览(48)
  • UniApp开发安卓以及H5实现页面级权限管理,避免用户浏览器直接输入url访问页面

    前言:uni-app如何像vue-router中的beforeEach一样实现跳转拦截功能呢? 为此uniapp官方提供了专门的API方法 uni.addInterceptor 举个栗子 我们发现底部有四个菜单分别是:首页、分类、购物车、我的;按常理来说首页和分类是不需要登陆就能查看的。另外两个则需要先登陆才能查看没登

    2024年01月16日
    浏览(64)
  • MAC的Safari浏览器没有声音解决办法

    有一段时间没打开电脑,也不知道是系统自动更新或是什么缘故,所有浏览器都无法正常发声。 现象如下: 首先,Safari浏览器无法自动播放声音,下载的360浏览器现象一致,但是播放其他音乐播放软件和视频软件都正常。最离谱的是,先播放一下其他软件的音频,Safari浏览

    2024年04月25日
    浏览(76)
  • 网页布局(解决浏览器缩放页面乱版问题)

    主要解决两个问题: 1. div盒子随Ctrl+【+/-】缩放而缩放的问题 2. 最小化窗口然后进行缩放页面的布局问题 3. 顶部导航固定问题 ### 第一个问题,则需了解 (1) 容器的布局:margin: auto、定位等等 (2) 尺寸单位:具体尺寸、可视尺寸(vh、vw)、百分比尺寸 ### 第二个问题,则需了解

    2024年02月04日
    浏览(55)
  • 谷歌浏览器强制跳转到 https 的解决办法

    一、在谷歌浏览器的地址栏输入:chrome://net-internals/#hsts 二、可以看到如下的页面: 三、Delete domain 栏的输入框中输入http访问的域名,点击“delete”按钮。 四、Query domain 栏中搜索刚才输入的域名,点击“query”按钮后如果提示“Not found”,完成配置。

    2024年02月13日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包