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

如何检查XMLHttpRequest是否使用HTTP / 2.0?目前,我正在执行以下操作,但是当然这仅适用于Firefox.

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

解决方法:

由于状态行不包含getAllResponseHeadersHTTP/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
上一篇:尝试在Eclipse Oxygen中的Java中使用jdk.incubator.http.HttpClient时出现NoClassDefFoundError


下一篇:Linux-Azure Blob存储是否支持http2?