BUG解决:部分JS等资源文件直接加载失败
记一次BUG解决
- 记一次BUG解决
- 问题描述
- 排查及解决
- 后续
问题描述
近期用户反映系统经常页面加载不全,功能按钮失效,需要多次刷新才可用,失败率极高,已经影响了用户的使用,我们在本地使用却没有任何问题。后面跟踪发现,部署在服务器上的应用我们访问时,很多JS和资源文件会加载失败,而且失败概率较高,用户的问题就是因为缺少了JS文件和一些样式文件导致的。
排查及解决
猜测一:是不是网络原因?
因为客户使用的商密网,还是VPN,故网络不稳定的情况时有发生。但是进一步分析,就算网络较差,应该也只是加载较慢,不会直接加载失败。
猜测二:是否资源文件的路径不对?
因为每次加载失败的资源文件不固定,而且多次刷新之后就能成功了。所以这个可能性排除。
猜测三:Tomcat配置问题?
因为在本地访问是没有问题的,而一放到服务器上就会出现这个问题,故怀疑是否tomcat的配置有问题,后面果然在tomcat里面发现了一个奇怪的配置:
去掉这个keepAliveTimeout=0
的配置之后,BUG迎刃而解。
后续
后面查阅资料,keepAliveTimeout
这个字段是设置下次请求过来之前,持久连接保持的时间,如设置为0,则保持时间为0。这个参数如果不设置,则默认取connectionTimeout
这个参数的值。
持久连接(Keep-Alive)也叫做长连接,它是一种 TCP 的连接方式,连接会被浏览器和服务器所缓存,在下次连接同一服务器时,缓存的连接被重新使用。由于 HTTP 的无状态性,人们也一直很清楚“一次性”的 HTTP 通信。持久连接则减少了创建连接的开销,提高了性能。HTTP/1.1 已经支持长连接,大部分浏览器和服务器也提供了长连接的支持。
keepAliveTimeout:
表示在下次请求过来之前,tomcat保持该连接多久。这就是说假如客户端不断有请求过来,且未超过过期时间,则该连接将一直保持。
maxKeepAliveRequests:
表示该连接最大支持的请求数。超过该请求数的连接也将被关闭(此时就会返回一个Connection: close头给客户端)。
BUG解决:部分JS等资源文件直接加载失败相关推荐
- [WM C++]从资源文件中加载显示png/jpg图片
一. 实现代码 void DrawImage(HDC hdc,RECT& rc,UINT nIDResource,CString lpType) { HINSTANCE hInst = ...
- RequireJs按需要加载angular模块和依赖,并且用r.js压缩打包js和css文件实现加载优化(图文)。
RequireJS 是一个JavaScript模块加载器,使用RequireJS加载模块化脚本将提高代码的加载速度和质量.而且能保证其他依赖angular插件前提下才能使用的组件比如像自定义的指令和路 ...
- html引入本地css样式无效,vue在index.html里面引入css文件样式加载失败
问题描述 我在vue的index.html里面引入本地的第三方CSS文件,浏览器会出现一个提示,同时样式也没有生效 问题出现的环境背景及自己尝试过哪些方法 网上搜索了一下说是什么拦截器的问题,但没有找 ...
- VS2017.RC文件加载失败问题
问题:双击.RC文件 出现加载失败和一个红叉. 原因:未能正确加载VC++ Resource Editor Package 解决: VS日志地址(目录可能不一样 但大同小异) C:\Users\Adm ...
- initpki.dll加载失败 找不到指定的模块的解决办法
有用户在更新Win10系统时,收到提示"模块'initpki.dll'加载失败.请确保该二进制存储在指定的路径中,或者调试它以检查该二进制或相关的DLL文件是否有问题.找不到指定的程序.&q ...
- 计算机中丢失swr.dll,win10系统提示模块initpki.dll加载失败如何解决
有不少用户在使用电脑的过程中,发现出现了模块initpki.dll加载失败的提示,遇到这样的问题该怎么办呢,本教程就给大家讲解一下 1.打开搜索,输入:powershell ,在windows pow ...
- ASP.NET MVC 扩展HtmlHelper类为 js ,css 资源文件添加版本号
写在前面 在项目部署当中会需要更新 css 文件或 js 等资源文件,为了避免由于浏览器缓存的原因无法加载新的 css 或 js ,一般的做法是在资源文件的后面加上一个版本号来解决,这样浏览器就会去服 ...
- Nginx相关 解决nginx反向代理后页面上的js/css文件无法加载
解决nginx反向代理后页面上的js/css文件无法加载 location ~ \.php$ {proxy_pass http://127.0.0.1:8000;include naproxy.con ...
- HTML5动态加载资源方式,动态加载JavaScript文件的两种方法
这篇文章主要为大家详细介绍了动态加载JavaScript文件的两种方法,感兴趣的小伙伴们可以参考一下 第一种便是利用ajax方式,把script文件代码从背景加载到前台,而后对加载到的内容经过eval ...
最新文章
- 带你彻彻底底搞懂朴素贝叶斯公式
- 直播 | 孙剑团队最新工作:用于物体检测的实例条件知识蒸馏 | NeurIPS 2021
- 北京智源大会 | 启元AI战胜中国星际冠军,智能体激发人类探索未知
- python入门教程完整版-Python入门教程完整版(懂中文就能学会)
- PAT甲级1113 Integer Set Partition:[C++题解]贪心
- python读取文件名存到list_批量读取文件夹中的文件名
- luogu P3786 萃香抱西瓜
- boost::hana::count用法的测试程序
- 第二章:08运算符[比较运算符]
- 心态很容易受别人影响_女人生宝宝也看年龄?这3个影响生育能力的因素,你得了解清楚...
- html克隆元素增加id,h.js - 元素克隆与追加
- navicat的注册出现提示No All Pattern Found! File Already Patched?
- 检测图书ISBN编号校检位
- 如何在Nintendo Switch上进行游戏共享
- vim 录制宏,自动循环执行组合操作
- ChatGPT vscode中文插件
- Latex希腊字母、特殊符号汇总表
- catia, creo, SW打开stp格式装配体,打开零件
- c# Topshelf创建linux与Windows服务
- TD62083、TD62783 8通道达林顿型驱动芯片对比