如何检查XHR是否使用HTTP / 2.0?

时间:2017-03-26 17:19:05

标签: javascript xmlhttprequest http2

如何检查是否使用HTTP / 2.0创建XMLHttpRequest?目前我正在做以下事情,但当然这只适用于Firefox。

if (req.getResponseHeader('X-Firefox-Spdy')) {
  if (req.getResponseHeader('X-Firefox-Spdy').startsWith('h2')) {
    return true
  }
}

1 个答案:

答案 0 :(得分:3)

由于状态行被排除在getAllResponseHeadersHTTP/2 does not define a way to carry the version … that is included in an HTTP/1.1 status line返回的字符串之外,因此您无法以可靠的方式检测该版本。

尽管如此,某些浏览器的某些版本 - 特别是Safari 10-do通过在HTTP/2.0属性的原因短语之前附加statusText来携带该版本。

if (req.statusText.startsWith('HTTP/2.0 '))
  // HTTP/2.0 enabled
else
  // we don't know either way