访问首页加载JS报net::ERR_QUIC_PROTOCOL_ERROR 200问题排查咨询
锁定报错的具体请求:打开浏览器开发者工具的Network面板,勾选「Disable cache」后刷新页面,找到返回
net::ERR_QUIC_PROTOCOL_ERROR 200的请求,确认是JS文件本身还是代码中触发的favicon请求——控制台行号定位到favicon代码,可能是该请求的错误被关联显示,而非JS文件本身的问题。禁用QUIC协议测试:在Chrome浏览器地址栏输入
chrome://flags/#enable-quic,将选项设置为「Disabled」,重启浏览器后再次硬加载测试。如果错误消失,说明是浏览器QUIC协议与服务器配置的兼容性问题。排查favicon资源的服务端配置:
- 确认服务器对
/favicon.ico(或localStorage中存储的company.icon地址)的响应是否正常,检查响应头的Content-Type、Cache-Control等字段是否符合规范。 - 查看服务器的QUIC/HTTP3配置,确认是否在处理强制无缓存请求时存在握手或传输异常。
- 确认服务器对
验证localStorage的影响:清空localStorage后硬加载测试,看是否还会触发错误——如果localStorage中的
company.icon是无效地址(跨域、不存在),可能在硬加载时触发异常请求导致QUIC错误。测试不同浏览器环境:在Firefox、Edge等其他浏览器中重复硬加载操作,若仅Chrome出现问题,说明是Chrome的QUIC实现与服务器的适配问题。
检查服务器日志:查看服务器端针对强制刷新请求(带有
Cache-Control: no-cache或Pragma: no-cache请求头)的处理日志,排查是否有QUIC连接建立失败、传输中断等异常记录。临时排除favicon代码影响:注释掉代码中
changeFavicon(iconUrl)这一行,硬加载测试。如果错误消失,说明问题确实与favicon请求相关;若仍报错,则需排查JS文件本身的拉取过程。
内容的提问来源于stack exchange,提问作者cgBug

