2017-03-26 1 views
3

Comment puis-je vérifier si XMLHttpRequest est fait avec HTTP/2.0? En ce moment je fais ce qui suit, mais bien sûr cela ne fonctionne que dans Firefox.Comment puis-je vérifier si un XHR est fait avec HTTP/2.0?

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

Répondre

3

Depuis la ligne d'état est exclu de la chaîne retournée par getAllResponseHeaders et HTTP/2 does not define a way to carry the version … that is included in an HTTP/1.1 status line vous ne devriez pas être en mesure de détecter la version de manière fiable.

Néanmoins, certaines versions de certains navigateurs, notamment Safari 10-do, portent la version en ajoutant HTTP/2.0 avant la phrase raison de la propriété statusText.

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