相关疑难解决方法(0)

什么是网络::: ERR_HTTP2_PROTOCOL_ERROR?

我目前正在网站上,该网站net::ERR_HTTP2_PROTOCOL_ERROR 200在Google Chrome浏览器上触发错误。我不确定究竟是什么会引起此错误,我只是注意到它仅在使用HTTPS访问网站时弹出。我不能100%确定是否相关,但是它似乎阻止了javascript的正确执行。

例如,发生以下情况:

  1. 我正在使用HTTPS访问网站

  2. 通过https://publish.twitter.com集成的我的Twitter feed 根本没有加载

  3. 我可以在控制台中注意到ERR_HTTP2_PROTOCOL_ERROR

  4. 如果删除代码以加载Twitter提要,则错误仍然存​​在

  5. 如果我通过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标头(错误):

Chrome标题

Firefox标头(无错误):

Firefox标头

curl --head --http2控制台中的请求返回以下成功:

HTTP/2 200 
date: Fri, 04 Oct 2019 08:04:51 GMT
content-type: text/html; charset=UTF-8
content-length: 127089
set-cookie: SERVERID31396=2341116; path=/; max-age=900
server: Apache
x-powered-by: PHP/7.2
set-cookie: xxxxx=0919c5563fc87d601ab99e2f85d4217d; expires=Fri, …
Run Code Online (Sandbox Code Playgroud)

https google-chrome http2

12
推荐指数
9
解决办法
2万
查看次数

标签 统计

google-chrome ×1

http2 ×1

https ×1