如何检查XMLHttpRequest是否使用HTTP / 2.0?目前,我正在执行以下操作,但是当然这仅适用于Firefox.
if (req.getResponseHeader('X-Firefox-Spdy')) {
if (req.getResponseHeader('X-Firefox-Spdy').startsWith('h2')) {
return true
}
}
解决方法:
由于状态行不包含getAllResponseHeaders
和HTTP/2 does not define a way to carry the version … that is included in an HTTP/1.1 status line返回的字符串,因此您不应以可靠的方式检测版本.
但是,某些浏览器的某些版本(尤其是Safari 10)通过在statusText属性的原因短语之前附加HTTP / 2.0来携带该版本.
if (req.statusText.startsWith('HTTP/2.0 '))
// HTTP/2.0 enabled
else
// we don't know either way