切换到 HTTP/2 后 HEAD 请求失败
HEAD requests fail after switching to HTTP/2
我的虚拟主机切换到 HTTP/2 后,我遇到了一个奇怪的问题。
突然,对 PHP 页面的所有 HEAD 请求导致 Chrome 中的 ERR_SPDY_PROTOCOL_ERROR。当文件为空时甚至会发生这种情况。不过,这似乎只发生在 Chrome 中,Postman 和 Lynx 似乎能够很好地发送请求。
一个例子,在Chrome的控制台中输入以下内容(test.php文件为空):
var http = new XMLHttpRequest();
http.open("HEAD", "https://play.asti.ga/api/test.php");
http.send();
returns出现如下错误:
HEAD https://play.asti.ga/api/test.php net::ERR_SPDY_PROTOCOL_ERROR
网络选项卡还显示 (failed)
。但是,对 test.html 执行相同的请求确实可以正常工作。
我联系了虚拟主机,他们声称他们的配置没问题,所以我想知道我能做些什么来解决这个问题。服务器在 PHP/7.0.25
上运行
结果确实是服务器问题,更具体地说是 SuPHP 与 HTTP/2 结合使用的问题。
我的虚拟主机切换到 HTTP/2 后,我遇到了一个奇怪的问题。
突然,对 PHP 页面的所有 HEAD 请求导致 Chrome 中的 ERR_SPDY_PROTOCOL_ERROR。当文件为空时甚至会发生这种情况。不过,这似乎只发生在 Chrome 中,Postman 和 Lynx 似乎能够很好地发送请求。
一个例子,在Chrome的控制台中输入以下内容(test.php文件为空):
var http = new XMLHttpRequest();
http.open("HEAD", "https://play.asti.ga/api/test.php");
http.send();
returns出现如下错误:
HEAD https://play.asti.ga/api/test.php net::ERR_SPDY_PROTOCOL_ERROR
网络选项卡还显示 (failed)
。但是,对 test.html 执行相同的请求确实可以正常工作。
我联系了虚拟主机,他们声称他们的配置没问题,所以我想知道我能做些什么来解决这个问题。服务器在 PHP/7.0.25
上运行结果确实是服务器问题,更具体地说是 SuPHP 与 HTTP/2 结合使用的问题。