什么是网络::: ERR_HTTP2_PROTOCOL_ERROR?
我目前正在网站上,该网站net::ERR_HTTP2_PROTOCOL_ERROR 200在Google Chrome浏览器上触发错误。我不确定究竟是什么会引起此错误,我只是注意到它仅在使用HTTPS访问网站时弹出。我不能100%确定是否相关,但是看起来它阻止了javascript的正确执行。 例如,发生以下情况: 我正在使用HTTPS访问网站 通过https://publish.twitter.com集成的我的Twitter feed 根本没有加载 我可以在控制台中注意到ERR_HTTP2_PROTOCOL_ERROR 如果我删除代码以加载Twitter feed,则错误仍然存在 如果我通过HTTP访问网站,则会显示Twitter feed,并且错误消失 谷歌浏览器是唯一会触发该错误的网络浏览器:它在Edge和Firefox上均可正常运行。(注:我尝试使用Safari,但出现类似kcferrordomaincfnetwork 303错误) 我想知道它是否可能与服务器返回的标头有关,因为错误中提到了“ 200”,并且404/500页没有触发任何内容。 根本没有记录错误。Google搜索给我的结果很少。此外,我注意到它出现在最近的Google Chrome浏览器版本中。该错误不会在v.64.X上弹出,但会在v.75 +上弹出(无论操作系统如何;我在Mac tho上工作)。 在这一点上进行调查的任何线索将不胜感激! 提前致谢。 特里斯坦 编辑1:可能与Firefox上的“网站确定 ”相关,但与Safari上的“网站正常 ”无关(kCFErrorDomainCFNetwork错误303),也与Chrome无关(net :: ERR_SPDY_PROTOCOL_ERROR) 编辑2:来自进一步调查的结果如下: 如果服务器返回404而不是2XX,则错误不会在完全相同的页面上弹出 HTTPS证书不会在本地弹出错误 错误在使用不同证书的其他服务器(均为OVH)上弹出 无论使用什么PHP版本,从5.6到7.3都会弹出错误(使用的框架:Cakephp 2.10) 编辑3:根据要求,下面是失败的资源(即整个网页)的返回标头。即使错误是在具有HTTP标头200的每个页面上触发的,这些页面也始终在客户端的浏览器中加载,但是有时会丢失一个元素(例如,外部Twitter feed)。除了整个文档本身,“网络”选项卡上的所有其他资产都有成功的返回值。 Google Chrome标头(错误): Firefox标头(无错误): curl --head --http2控制台中的请求返回以下成功: HTTP/2 200 date: Fri, 04 Oct 2019 …